約 4,742,229 件
https://w.atwiki.jp/dark-warriors/pages/58.html
あなたのステータス画面へようこそ。あなたはここでパーソナルステータスを確認する事が出来ます。 Personal Stats・・・あなたのステータス Your IP 000.000.000.000・・・あなたのIPアドレス Game ID 12345・・・あなたのゲームID Level 10・・・あなたのレベル Experience 4000/5000 [80%]・・・あなたの経験値 Health 200/200・・・あなたのHP(戦闘時に措ける体力) Energy 30/30 [100%]・・・あなたのEnargy(行動可能なターン数) Age 5 Days・・・あなたの年齢(このゲームの通算プレイ日数) Public Information・・・公開情報 (閲覧はスタッフのみで、他プレイヤーは閲覧不可) Rank Member・・・ランク:参加者(他にStaff、Adminなどのランクがあります) Game visits (4.00 visit/day)・・・1日当りのゲームにログインした回数 Email dw@hogehoge.com・・・メールアドレス Clan None・・・クランへの加入状態。加入していればクラン名が表示されます。 Battle Stats・・・戦闘ステータス Record 10/20/30・・・勝利が10回/敗北が20回/合計30回 Last Killed ・・・最後に倒したプレイヤーの名前が表示されます。 Last Killed By ・・・最後に倒されたプレイヤーの名前が表示されます。 Class Swordsman・・・職業 AP 5 [use]・・・能力値に分配可能なポイント Agility 10.014・・・敏捷力=どれくらい速く攻撃できるかを決定づけるステータスです。 Strength 10.048・・・筋力=攻撃時にどれくらい強力であるかを決定づけるステータスです。 Defense 10.901・・・耐久力=どれくらいダメージに耐えられるかを決定づけるステータスです。 Wisdom 5.000・・・知力=戦闘中にSkillを何回繰り出せるかを決定づけるステータスです。 Distribute AP・・・(アロケーションポイントの分配) ここはあなたのAPをステータスに加える為のところです。 あなたは加えたいそれぞれのステータスに数値を入力するだけです。 あなたは 3 AP を分配できます。 Allocate AP to Strength ・・・筋力に分配します。 Allocate AP to Defense ・・・耐久力に分配します。 Allocate AP to Agility ・・・敏捷力に分配します。 Allocate AP to Wisdom ・・・知力に分配します。 Allocate AP to HP (+5 each) ・・・体力に分配します。1 APを分配する毎に5 HPが上昇します。 Member Information・・・プレイヤー情報 Status Member・・・ステータス:(無料)プレイヤー Subscription 0 Days・・・有料プレイヤーの残りの日数 Tips APの分配が何とも地味なところにありますが、レベルアップ毎に何を上げるかを毎度毎度あなたを悩ませる事になるでしょう。現在のところ職業別の最大値がどこにあるのか判りませんがWall of Fameを見やるに参考にならないくらい程高い値なので、若い内はどこにどのように割り振っても後悔する事はないでしょう。
https://w.atwiki.jp/nothing/pages/156.html
プロローグ テラスから望む景色の中で次々に灯る家々の明かり。 暖かい光に混じって、かぼちゃの中で揺れるオレンジ色の小さな光がポツンポツンと浮かび上がっていた。 「あっという間に日が暮れてしまったわ。もう、こんな季節なのね」 「奥様、そろそろお部屋の中に」 テラスで街を見下ろしていた女性は振り向かずに答えた。 沈みきった太陽の残光を映す瞳は緑色。 「家の中はきれいにしてあるわね?」 「それはもう」 少し微笑んで、テラスの扉を閉める。肩にかけたショールが緩やかにカーブを描く。 「お部屋のほうは大丈夫?」 「心得ておりますとも。明日、マティウスのご子息がお見えになると、先程早馬が参りました」 「今年も一番乗りはエザリアの息子なのね。アスランはもう帰ってきた?」 「ええ。今しがた」 それなら、夕食も一際おいしいだろうと、彼女は微笑んだ。 一人息子がその日の出来事を報告するのを聞きながら、夕食をするのが家族の日課になっていた。彼女が黙って聞き、夫が時折、茶々を入れる。時には喧嘩になることもあるけれど、それすら彼女には喜びだったのだ。 ほら、今日も急いで身なりを整えてきたのか、少し息が弾んでいる息子が最後にテーブルにつく。 キラが初めてその若い伯爵を見たのは爵位の授与式の時だった。 国王は養子に迎えた王女の婚約相手、つまり自分に殆どの公務を任せきりだったのに、この時ばかりは、静養先の離宮からまかりこして一切を取り仕切ったのだ。 「あれが新しいザラ。父親と似てないね」 夫人が病床に臥した事を理由に爵位を譲ると言い出した前伯爵。 国の中枢にいて敏腕を振るった伯爵を正直キラは疎ましいと感じていたので、まだ若い息子に代替わりするのであれば口出しもしないだろうと歓迎した。 ディセンベル伯ザラ家と言えば、王国の北に広大な領地を構える大貴族である。しかし、爵位で言えば第3位に過ぎないザラ家の跡取に王自らが授与の為に御手を振られるのは、ザラ家が古くからの選定侯であったからだった。 歴史書を紐解けば、彼の家系の変遷が分かるのかも知れないなと、新しい伯爵が広間に現れるのを待っていた気がする。 「お母様に似てらっしゃるのですわ」 傍らの婚約相手がさらりと告げる。 「男だよね?」 一見男装の麗人を思わせる容貌に口を付いて出てしまう。ピンク色の髪をした彼女も美しいが、彼の爵位継承の為に貴色のローブを羽織った姿も掛け値無しに美しかったのだ。 しかし、女では王位はおろか爵位も継げない。 だから、キラが養子として王家に名を連ねる羽目になったのだ。 「はい、アスランは立派な男性ですわ」 国王の前で臣下として膝を折る所作。錫を受けるために頭を下げる姿。 なぜ、あれが僕じゃないのだろうと、小さな嫉妬を国王に向けたのには気付かず、洗練された振る舞いに目を奪われていると、あっという間に継承式は終わってしまった。 国王が退場した後は、彼を知る貴族の師弟達が彼を取り囲む。 マティウス公やマイウス公の後継ぎ達。 次期国王の自分がその中に混じるのも、可笑しな気がして一瞥する。 彼はこれから王宮に伺候する身になるのだ、一言挨拶があってしかるべきじゃないのか? 国の要職を預かるものは、王宮近くに屋敷を構え王を助けて国務を行う。彼もザラ家を継いだ以上、これから毎日会えるのだろうと高を括っていた。 しかし、彼はあの後、王宮のサロンにも顔を出さずにその足で領地に帰ってしまった。意味なく笑ってやり過ごしたキラはその後、一度足りとも彼と会うことなどなかった。 前伯爵が完璧にお膳立てしていたせいか、国政に混乱はなく王国は何事もなく月日を重ねる。 ザラ家の跡取のことを思い出したのは、季節が二つも巡った秋も深まった頃だった。 1.イザーク・ジュール 北の地。ディセンベルの城のエントランスの重苦しいドアが開いた途端に、ホールに響く声。 「今年も来てやったぞっ!」 ジュール公爵と聞いて、王国でその名を知らぬものはいない。プラチナブロンドの髪にブルーアイズという整いすぎた氷の美貌の女性。王宮で国政の一翼をになう女傑。その一人息子が怒鳴り込んで来たイザーク・ジュールであった。 「おやめください、ジュール様! エルスマン様もっ」 高貴な人にドアを開けさせるなどとんでもないと、慌てて駆け寄ってくる城の者たち。 「アスランはどこだ?」 「はい、ただ今、主はすぐ参りますゆえ」 伯爵となった今でも、屋敷の者達にとってイザークは主人の学友だった。 それをイザークも分かっているし、何より自分自身がそうであると思っている。ジュール公爵について国務を手伝う王宮とは違って、この城は王都とは随分と離れている。 「あいつはまだ、工房で遊んでいるのか!」 「遊んでいるわけじゃないぞっ」 右の小さなエントランスからエプロン姿の主が現れる。 「貴様・・・なんだ、その格好は!」 「まあまあ、イザーク。着いたばっかでそんなに張り切るなよ」 城の主は作業着に黒のエプロンと言ういでたちだった。イザークが旅装束なのとは雲泥の差である。仮にも次期マティウス公を出迎えるのだ、いくらなんでもそれはないだろう。主の身なりを整えようと濡れたタオルに着替えをもって来る。 「何だって・・・今、工房で作業中だったんだよ」 手を拭き、エプロンを外して渡す。 「イザーク、久しぶり。ようこそ、ディセンベルへ」 「お前もな、アスラン」 だが、作業着を着ていてもアスランはディセンベル伯だった。 向き合った瞬間、イザークは変わらないものを感じて肩の力を抜きつつ、身体の芯に力が入る。学友だった時代は終わってしまったけれど、自分がただ一人認めたライバル。 それゆえ、遠くはなれた辺境に引っ込んでいるのが口惜しかった。 ディセンベルは代替わりして変わってしまったと、王宮の口さがないもの達は言う。 「父は母上の所だ。二人ともおまえ達が来るのを楽しみにしていたんだ」 アスランの母が大病を患って以来、この家族はこの地を離れない。 王宮で国政を動かしていた前伯爵まで息子に爵位を譲って、退いてしまう始末。はじめはなんと軟弱かと思ったが、前伯爵夫人の事情を知ってそれは改めた。 イザークは父を知らない。 幼い頃に亡くなったと聞かされたが、実感が湧かない。それだけ母の比重が大きいのだが、死にゆく大切な人を看取りたいという思いを踏みにじることはできない。 何より、イザークはアカデミー時代のアスランを知っている。家族が満足にそろうこともなく離れ離れだった頃の彼を。 「では、挨拶に行く。それが終わったら、勝負だ」 驚いて少し目を丸めて、すぐに力がこもる。 幾度となく見てきた挑戦的な顔。 今、こいつはとんでもなく不安なはずなのに、力のある瞳を向けてくる。 どんなに月日が移り変わろうとも、培ってきた日々の上に今が成り立っているのだ。変わらない瞳はまだ終わっていない証拠なのだろう。 「今年こそは俺が勝つ!」 「で、今年は何の勝負をするわけ? チェス? 狩り?」 今までどれも僅差で届かない。だが、イザークとて無駄に過ごしてきたわけではない、国政の中心で王国を見ている自負もある。 負けず嫌いはお互い様だ。 変わらないようで、変わっていくのだ、俺たちは。 「チェスだっ!」 だから貴様も早く来い。 俺は負けん。 「あー」 「うるさいぞ、ディアッカ!」 2.ディアッカ・エルスマン ディセンベルの城は古い。 かと思えば、石造りの階段や部屋は驚くほど暖かい。廊下には煙のでない明かりが灯っていたりして、毎度の事ながら驚かされる。 「ディセンベル公にも、奥方に置かれてもご機嫌麗しく」 「久しぶりだな、ジュールにエルスマンの息子達。ゆっくりして行ってくれたまえ」 奥方の座る椅子を離れて、窓を開ける。 「アスランにはもう会ったの?」 「はい」 前にいるイザークは気が付かないようだが、たった今、先代が開けたテラスのドアも普通とつくりが違う。 音が違い、注意してみていると、ドアの下に小さな滑車がついているのがわかった。きっと、少ない力で簡単に動かせるように配慮したのだろう。 ディアッカはアスランのこういう気付かないような気遣いに感心する。 アカデミーでのそっけなさがなんだったのかと。 ただ単に気付かなかっただけなのか。 「何を考え込んでいる?」 アスランの待つ部屋へと向かう途中、イザークが見咎める。 「別に、何でも」 「フムン。まあ、いい」 確かにそんなことはどうでもいい。 チェス盤を囲んで何時ものように白がイザーク、黒がアスラン。ディアッカは勝負がつくまでギャラリーとなる。 ゲームが進むにつれて、二人とも無言になるが、表情を見てればどちらが優勢かは分かる。 あれっ? と思って、チェス盤を覗き込む。 「どうした、早くうて」 「うるさい。ちょっと黙っていろ」 珍しく、イザークが優勢ではないか。 白いシャツに着替えてきたアスランが難しい顔をしている。 これはひょっとするとひょっとするのかも知れない。この二人のチェスのスコアはイザークの1勝のみである。負けた勝負をカウントしていないからだ。そう、今までにイザークがアスランに勝てたのはアカデミー時代の一度しかないのだ。そんな珍しい瞬間を拝めるかも知れない。 「ディアッカも、嬉しそうな顔するなよ」 知らず、顔に出てしまっていたらしい。 嬉しいわけじゃないがな。二人の反応が楽しみってだけだ。 アスランがルークを動かすと、すかさずイザークがナイトを動かす。 「クイーンででも防衛するか?」 「ん・・・大人気ないな」 「お前、俺が勝ったら王宮へ上がれ」 アスランの蒼い髪が揺れて、じいっとイザークを見ていた。 「今すぐとは言わん」 勝ち誇ったイザークが本題を切り出すと、アスランがポーンを1マス進める。途端に顔色を変えるイザーク。なるほど、大人気ないのは。 「貴様、卑怯だぞ。チェンジリングを狙っているな!」 「卑怯なわけあるか。正当なルールだ」 ポーンは相手ゴールに辿り着くと、ほぼクイーンと同じ力を持つ。縦横無尽に動き回るポーンから防衛せざるを得なくなる。 ディアッカはどこかでホッとして、二人が言い合う光景を視界に納める。 王宮に行けば、こんな光景めったに見られなくなるだろう。 「王宮なんてごめんだ」 あー、でも、王宮の老獪なじじいどもに弄られるアスランも少し見てみたかった、かも知れない。 それに一々反応するイザークも。 ディアッカは少しだけ、負けたイザークを恨みのこもった目で見つめた。 つづく 続き物。あちゃーって感じです。日付変更線は朝5時ってことでよろしくお願いします。
https://w.atwiki.jp/constlangmajuuyuen/
Index About this page What is Majuuyu Majuuyu Characters Pronunciation Grammar Prospects as an international auxiliary language IME Verb animation feature proposal Notes About this page This is the official wiki of "Majuuyu" which is the language constructed by N.koduke (N.こづけ). Already known Majuuyu Words Majuuyu Vocabulary Answers for some questions from comments of the YouTube video Q and A If you have some ideas, please leave some comments here Comment Field 日本語バージョンの説明を見たい方は下のリンクへどうぞ Also you can read the wiki in Japanese from below. →https //w.atwiki.jp/constlangmajuuyu/pages/1.html Note We are not so good at English, so this page could have something wrong about English grammar or something. What is Majuuyu "Majuuyu" is pronounced like mah-zhoo-yoo. Majuuyu, an artificial language, is an international auxiliary language constructed based on the concept that is "easy to learn". Features Majuuyu words are composed by simple ideographic characters called Bases, which makes it it easy to create words and to be visually understandable. Explanatory video by the creator (but in Japanese) Majuuyu Characters As discribed above, Majuuyu words are composed by simple ideographic characters called Bases. The following is lists of Bases. Bases may be added or be removed in the future. Ideograph Bases (for words) Phonetic Bases (for grammar) ・The size of Bases Majuuyu has the rule about size of words. And each Base has particular width and height to make it easy to represent size of words. In this section, the length of the scale of the accommodating compartment described below is set to 1. Hereinafter, they are written in the order (width, height). The height and width of ideographic Bases (width, height) (2, 2) (2, 2) (3, 1) (2, 2) (2, 2) (1.5, 3) (2, 2) (1.5, 3) (2, 2) (3, 1) (3, 1) (3, 1) (2, 2) (3, 1.5) (2, 2) (1, 1) (2, 2) The height and width of phonetic Bases (2, 3) (2, 2) Note The size of Bases which is representing part-of-speech are not conciderd. Special Base (0,0) Space Base This is a shapeless Base with only sound. It is mainly used for expressing the layout in text communicaton. For example, is described like that "There are a Space Base at the top and → at the bottom." And is described like that "There are → at the top and a Space Base at the bottom." These differences are easy to recognize visually but they are difficult to describe verbally. So the Space Base is used. The sound of it is "mu" (temporaly). They are placed according to the placement pattern table below, and do not have a shape, but affect the placement. ・Rules about creating words The size of words A character must be placed so that it fits into the above compartment (7 horizontal x 6 vertical). This means that the sum of the vertical values of the entire character must be less than 6 and the sum of the horizontal values must be less than 7. If this assumption is met, the entire character will be enlarged to the limit of the compartment (for improve readability). Maximum number of usable bases The number of bases that can be used per character is limited to 7. Any more than this, and the placement patterns will become too many and the pronunciation will become redundant (though it is redundant at the moment). The outermost base of the base in which the "entering" is happening is equally counted as one. The direction of bases Some bases have a direction. To distinguish the directions verbally, bases of the same kind with different directions have different pronunciations. At the moment, there are only two or four directions, but there is a possibility that there will be eight directions in the future. The following is a base depicting the directions. entering In majuuyu, a base can go inside a base. I call it "entering" when a base goes inside a base. The base outside of the letter where the entering is occurring is called the outermost base, and the base inside is called the inside base. ↓example of words↓ To pronounce orally the letter in which entering is occurring, use "Su + (outermost base sound) + (inside bases sound) + Su". Therefore, when entering occurs in →, it is pronounced as "suyasu. When entering occurs at the ←, the pronunciation is "sujasu". Entering can only be done up to one inside. This means that triple circles, etc. are not possible. The bases in which entering is occurring have a special way of calculating parcels. If the inside base is a single "・", the size is counted as (2,2). Otherwise, the size is calculated using only the inside bases. However, the outermost base is also counted as one for the number of bases used. The following is a list of possible outermost bases and the letter form of outermost base when the content is blank. When the inside is empty, it is pronounced as "Su + (outermost base sound) + Su". Layering In majuuyu, there are times when a base overlaps under a base. I call it "layering" when a base comes under another base. In addition, the base where the layering occurs is called the layering base, and the base that comes under the layering base is called the under bases. Note Creator is not good at English, so the naming is just perfunctory. Please don t be offended if I m wrong. If you want, please comment in the comments section with a better name. ↓example of words↓ When orally pronouncing the letters in which layering is occurring "Re + (layering base sound) + (under bases sound) + Re". Therefore, when layering occurs in →, it is pronounced "reyare". And so, when layering occurs in ←, it is "rejare". In layering, only one base can be placed on top, while under bases can be placed up to the entire compartment. The way to calculate the size of the base where layering is occurring is (the size of layering base)≤(the total size of under bases) then the total height and width of the under bases is counted as the size of the word, and (the size of layering base) (the total size of under bases) then the size of the layering base is counted as the size of the word. The number of bases used is the sum of one layering base and the number of under bases. Distance between bases In Majuuyu, bases may be attached to bases without any spaces between them. For example, in the word "majouille," from which this artificial language is derived, each base is completely attached to each other. I am still working on how to verbally distinguish this. It is also expected to have some effects on production. Pronunciation There are many pronunciations that need to be examined, but for now, here are some tentative pronunciations. re reh ka kah ki ge kih geh ku kuh me meh mi pi mih pih ra rah sa sah se seh shi shih te da teh dah ya ja yah jah yo jo yoh joh yu juh to ni o ta n Grammar There are still a lot of undecided items, so I ll write about them once the main idea is decided. The grammar will probably be similar to Japanese. I m thinking that it might be a good match for Chinese tense expressions. Prospects as an international auxiliary language I d like to aim for a language that has the position of "sometimes you see it on the information board at the airport...". I d also like to see comments on the Internet that are written in Majuuyu, or something like that. IME In the future, Majuuyu would like to be able to input directly in IME. Direct input here means something like the Hangul IME, which automatically combines the elements. In addition to direct input, I recently started thinking that it would be nice to be able to convert from other existing languages. For example, if you type "person" in English, "i" will appear as a conversion candidate, and if you type "people", "iii" will appear as a conversion candidate. The creator is not an expert in programming. If I want to develop an IME, I will have to study it by myself or ask someone else to do it. In any case, I need to think about how to input data. The following is a list of current ideas. Draft of the process Receive input from keyboard ↓ Call up placement patterns based on the number of characters entered (up to 7). ↓ Assign the value of the length and width of the bases to the called placement pattern. ↓ Based on the assigned values, find the sum of the length and width of each matrix, and find the maximum value. ↓ Exclude patterns where (maximum horizontal value) 7 or (maximum vertical value) 6 ↓ For the remaining placement patterns, output images so that the coordinate point "・" is at the center of each base. If there is more than one candidate for conversion, machine learning or other methods will be used to prioritize the most frequent words for display. The following are the placement patterns (6 and 7 are still under construction) Number of bases 1 Number of bases 2 Number of bases 3 Number of bases 4 Number of bases 5 Number of bases 6 Verb animation feature proposal I think the verbs in Majeure are rather intuitive and easy to understand (I m proud of that). Wouldn t it be much easier to understand if the verbs were animated and the characters really moved? Wouldn t it be easier to understand? If we take into account the fact that we will be spreading the word on the Internetit should not be technically impossible to create a language in which letters move. Even in the days of Galakay, it was possible to send moving pictograms, so I don t see why it can t be done with Majeure. The following videos are simulations of what happens when you animate a verb. It looks really good, doesn t it? I can see a future where Majuuyu is used on electronic billboards ) (I recommend right-clicking on the video and playing it in a loop.) Notes I m trying to create a placement pattern for the IME. There are so many, I m dying. Someone help me! I ve never heard of such an easy way to go over 100 patterns...
https://w.atwiki.jp/sampleisbest/pages/488.html
開発環境 Microsoft Visual Studio Community 2015 実行環境 Windows 10 Home (64bit) プロジェクトの種類 Win32 Project プロジェクト名 MasterMute アプリケーションの種類 Windows application 追加のオプション Empty project, SDL checks プロジェクトのプロパティ C/C++>Code Generation>Runtime Library:Multi-threaded (/MT) MasterMute.exe 参考 MMDevice APIを利用してマスター音量を操作する MasterMute.cpp #pragma comment(lib, "winmm") #include Windows.h #include math.h #include mmdeviceapi.h #include endpointvolume.h #include "Resource.h" #define SAFE_RELEASE(punk) if (punk) { punk- Release(); punk = NULL; } #define TONE_MSEC 1000 #define SAMPLE_RATE 8000 #define DATA_LEN (SAMPLE_RATE * TONE_MSEC / 1000) // INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); // IMMDeviceEnumerator *pEnum; IMMDevice *pEndpoint; IAudioEndpointVolume *pAudioEndVol; HWAVEOUT hwo; WAVEHDR wh = { 0 }; BYTE data[DATA_LEN]; int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { HRESULT hr = CoInitialize(NULL); hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_ALL, IID_PPV_ARGS( pEnum)); hr = pEnum- GetDefaultAudioEndpoint(eRender, eConsole, pEndpoint); hr = pEndpoint- Activate(__uuidof(IAudioEndpointVolume), CLSCTX_ALL, NULL, (void **) pAudioEndVol); DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, DlgProc); SAFE_RELEASE(pAudioEndVol); SAFE_RELEASE(pEndpoint); SAFE_RELEASE(pEnum); CoUninitialize(); return 0; } INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { INT_PTR nRet = TRUE; MMRESULT mmr; switch (uMsg) { case MM_WOM_OPEN wh.lpData = (LPSTR)data; wh.dwBufferLength = DATA_LEN; mmr = waveOutPrepareHeader(hwo, wh, sizeof wh); wh.dwFlags |= WHDR_BEGINLOOP | WHDR_ENDLOOP; wh.dwLoops = 5; mmr = waveOutWrite(hwo, wh, sizeof wh); break; case MM_WOM_DONE mmr = waveOutReset(hwo); mmr = waveOutUnprepareHeader(hwo, wh, sizeof wh); mmr = waveOutClose(hwo); break; case WM_COMMAND switch (LOWORD(wParam)) { case IDC_BEEP WAVEFORMATEX wfx; wfx.wFormatTag = WAVE_FORMAT_PCM; wfx.nChannels = 1; wfx.nSamplesPerSec = SAMPLE_RATE; wfx.nAvgBytesPerSec = SAMPLE_RATE; wfx.nBlockAlign = 1; wfx.wBitsPerSample = 8; wfx.cbSize = 0; mmr = waveOutOpen( hwo, WAVE_MAPPER, wfx, (DWORD_PTR)hDlg, NULL, CALLBACK_WINDOW); break; case IDC_MUTE BOOL bMute; HRESULT hr; hr = pAudioEndVol- GetMute( bMute); hr = pAudioEndVol- SetMute(!bMute, NULL); break; case IDCANCEL EndDialog(hDlg, IDCANCEL); break; } break; case WM_INITDIALOG for (int i = 0; i DATA_LEN; i++) { double t = fmod(i * 440.0 / SAMPLE_RATE, 1.0); data[i] = 128 + (t 0.5 ? -1 1) * 16; } nRet = TRUE; break; case WM_CLOSE EndDialog(hDlg, 0); break; default nRet = FALSE; } return nRet; } resource.h #define IDD_MAIN100 #define IDC_BEEP1000 #define IDC_MUTE1001 MasterMute.rc #include winres.h #include "resource.h" IDD_MAIN DIALOGEX 100, 100, 150, 60 STYLE WS_POPUPWINDOW | WS_MINIMIZEBOX EXSTYLE WS_EX_APPWINDOW CAPTION "Master Mute" FONT 9, "MS Pゴシック" BEGIN PUSHBUTTON"Beep", IDC_BEEP, 50, 10, 50, 15 PUSHBUTTON"Mute", IDC_MUTE, 50, 35, 50, 15 //PUSHBUTTON"Cancel", IDCANCEL, 264, 176, 48, 16 END
https://w.atwiki.jp/dmori/pages/32.html
A.1 Source text A.1.1 Library source text library_text = { library_description } library_description = library_declaration | include_statement | config_declaration | ; library_declaration = library library_identifier file_path_spec { , file_path_spec } [ -incdir file_path_spec { , file_path_spec } ] ; include_statement = include file_path_spec ; A.1.2 SystemVerilog source text source_text = [ timeunits_declaration ] { description } description = module_declaration | udp_declaration | interface_declaration | program_declaration | package_declaration | { attribute_instance } package_item | { attribute_instance } bind_directive | config_declaration module_nonansi_header = { attribute_instance } module_keyword [ lifetime ] module_identifier [ parameter_port_list ] list_of_ports ; module_ansi_header = { attribute_instance } module_keyword [ lifetime ] module_identifier [ parameter_port_list ] [ list_of_port_declarations ] ; module_declaration = module_nonansi_header [ timeunits_declaration ] { module_item } endmodule [ module_identifier ] | module_ansi_header [ timeunits_declaration ] { non_port_module_item } endmodule [ module_identifier ] | { attribute_instance } module_keyword [ lifetime ] module_identifier ( .* ) ; [ timeunits_declaration ] { module_item } endmodule [ module_identifier ] | extern module_nonansi_header | extern module_ansi_header module_keyword = module | macromodule interface_nonansi_header = { attribute_instance } interface [ lifetime ] interface_identifier [ parameter_port_list ] list_of_ports ; interface_ansi_header = {attribute_instance } interface [ lifetime ] interface_identifier [ parameter_port_list ] [ list_of_port_declarations ] ; interface_declaration = interface_nonansi_header [ timeunits_declaration ] { interface_item } endinterface [ interface_identifier ] | interface_ansi_header [ timeunits_declaration ] { non_port_interface_item } endinterface [ interface_identifier ] | { attribute_instance } interface interface_identifier ( .* ) ; [ timeunits_declaration ] { interface_item } endinterface [ interface_identifier ] | extern interface_nonansi_header | extern interface_ansi_header program_nonansi_header = { attribute_instance } program [ lifetime ] program_identifier [ parameter_port_list ] list_of_ports ; program_ansi_header = {attribute_instance } program [ lifetime ] program_identifier [ parameter_port_list ] [ list_of_port_declarations ] ; program_declaration = program_nonansi_header [ timeunits_declaration ] { program_item } endprogram [ program_identifier ] | program_ansi_header [ timeunits_declaration ] { non_port_program_item } endprogram [ program_identifier ] | { attribute_instance } program program_identifier ( .* ) ; [ timeunits_declaration ] { program_item } endprogram [ program_identifier ] | extern program_nonansi_header | extern program_ansi_header class_declaration = [ virtual ] class [ lifetime ] class_identifier [ parameter_port_list ] [ extends class_type [ ( list_of_arguments ) ] ]; { class_item } endclass [ class_identifier] package_declaration = { attribute_instance } package package_identifier ; [ timeunits_declaration ] { { attribute_instance } package_item } endpackage [ package_identifier ] timeunits_declaration = timeunit time_literal ; | timeprecision time_literal ; | timeunit time_literal ; timeprecision time_literal ; | timeprecision time_literal ; timeunit time_literal ; A.1.3 Module parameters and ports parameter_port_list = # ( list_of_param_assignments { , parameter_port_declaration } ) | # ( parameter_port_declaration { , parameter_port_declaration } ) | #( ) parameter_port_declaration = parameter_declaration | data_type list_of_param_assignments | type list_of_type_assignments list_of_ports = ( port { , port } ) list_of_port_declarations25 = ( [ { attribute_instance} ansi_port_declaration { , { attribute_instance} ansi_port_declaration } ] ) port_declaration = { attribute_instance } inout_declaration | { attribute_instance } input_declaration | { attribute_instance } output_declaration | { attribute_instance } ref_declaration | { attribute_instance } interface_port_declaration port = [ port_expression ] | . port_identifier ( [ port_expression ] ) port_expression = port_reference | { port_reference { , port_reference } } port_reference = port_identifier constant_select port_direction = input | output | inout | ref net_port_header = [ port_direction ] net_port_type variable_port_header = [ port_direction ] variable_port_type interface_port_header = interface_identifier [ . modport_identifier ] | interface [ . modport_identifier ] ansi_port_declaration = [ net_port_header | interface_port_header ] port_identifier { unpacked_dimension } | [ variable_port_header ] port_identifier { variable_dimension } [ = constant_expression ] | [ net_port_header | variable_port_header ] . port_identifier ( [ expression ] ) A.1.4 Module items module_common_item = module_or_generate_item_declaration | interface_instantiation | program_instantiation | concurrent_assertion_item | bind_directive | continuous_assign | net_alias | initial_construct | final_construct | always_construct | loop_generate_construct | conditional_generate_construct module_item = port_declaration ; | non_port_module_item module_or_generate_item = { attribute_instance } parameter_override | { attribute_instance } gate_instantiation | { attribute_instance } udp_instantiation | { attribute_instance } module_instantiation | { attribute_instance } module_common_item module_or_generate_item_declaration = package_or_generate_item_declaration | genvar_declaration | clocking_declaration | default clocking clocking_identifier ; non_port_module_item = generate_region | module_or_generate_item | specify_block | { attribute_instance } specparam_declaration | program_declaration | module_declaration | interface_declaration | timeunits_declaration17 parameter_override = defparam list_of_defparam_assignments ; bind_directive = bind bind_target_scope [ bind_target_instance_list] bind_instantiation ; | bind bind_target_instance bind_instantiation ; bind_target_scope = module_identifier | interface_identifier bind_target_instance = hierarchical_identifier constant_bit_select bind_target_instance_list = bind_target_instance { , bind_target_instance } bind_instantiation = program_instantiation | module_instantiation | interface_instantiation A.1.5 Configuration source text config_declaration = config config_identifier ; design_statement { config_rule_statement } endconfig [ config_identifier ] design_statement = design { [ library_identifier . ] cell_identifier } ; config_rule_statement = default_clause liblist_clause ; | inst_clause liblist_clause ; | inst_clause use_clause ; | cell_clause liblist_clause ; | cell_clause use_clause ; default_clause = default inst_clause = instance inst_name inst_name = topmodule_identifier { . instance_identifier } cell_clause = cell [ library_identifier . ] cell_identifier liblist_clause = liblist {library_identifier} use_clause = use [ library_identifier . ] cell_identifier [ config ] A.1.6 Interface items interface_or_generate_item = { attribute_instance } module_common_item | { attribute_instance } modport_declaration | { attribute_instance } extern_tf_declaration extern_tf_declaration = extern method_prototype ; | extern forkjoin task_prototype ; interface_item = port_declaration ; | non_port_interface_item non_port_interface_item = generate_region | interface_or_generate_item | program_declaration | interface_declaration | timeunits_declaration17 A.1.7 Program items program_item = port_declaration ; | non_port_program_item non_port_program_item = { attribute_instance } continuous_assign | { attribute_instance } module_or_generate_item_declaration | { attribute_instance } initial_construct | { attribute_instance } final_construct | { attribute_instance } concurrent_assertion_item | { attribute_instance } timeunits_declaration17 | program_generate_item program_generate_item37 = loop_generate_construct | conditional_generate_construct | generate_region A.1.8 Class items class_item = { attribute_instance } class_property | { attribute_instance } class_method | { attribute_instance } class_constraint | { attribute_instance } class_declaration | { attribute_instance } timeunits_declaration17 | { attribute_instance } covergroup_declaration | ; class_property = { property_qualifier } data_declaration | const { class_item_qualifier } data_type const_identifier [ = constant_expression ] ; class_method = { method_qualifier } task_declaration | { method_qualifier } function_declaration | extern { method_qualifier } method_prototype ; | { method_qualifier } class_constructor_declaration | extern { method_qualifier } class_constructor_prototype class_constructor_prototype = function new ( [ tf_port_list ] ) ; class_constraint = constraint_prototype | constraint_declaration class_item_qualifier7 = static | protected | local property_qualifier7 = random_qualifier | class_item_qualifier random_qualifier7 = rand | randc method_qualifier7 = virtual | class_item_qualifier method_prototype = task_prototype | function_prototype class_constructor_declaration = function [ class_scope ] new [ ( [ tf_port_list ] ) ] ; { block_item_declaration } [ super . new [ ( list_of_arguments ) ] ; ] { function_statement_or_null } endfunction [ new ] A.1.9 Constraints constraint_declaration = [ static ] constraint constraint_identifier constraint_block constraint_block = { { constraint_block_item } } constraint_block_item = solve identifier_list before identifier_list ; | constraint_expression constraint_expression = expression_or_dist ; | expression - constraint_set | if ( expression ) constraint_set [ else constraint_set ] | foreach ( array_identifier [ loop_variables ] ) constraint_set constraint_set = constraint_expression | { { constraint_expression } } dist_list = dist_item { , dist_item } dist_item = value_range [ dist_weight ] dist_weight = = expression | / expression constraint_prototype = [ static ] constraint constraint_identifier ; extern_constraint_declaration = [ static ] constraint class_scope constraint_identifier constraint_block identifier_list = identifier { , identifier } A.1.10 Package items package_item = package_or_generate_item_declaration | anonymous_program | timeunits_declaration17 package_or_generate_item_declaration = net_declaration | data_declaration | task_declaration | function_declaration | dpi_import_export | extern_constraint_declaration | class_declaration | class_constructor_declaration | parameter_declaration ; | local_parameter_declaration | covergroup_declaration | overload_declaration | concurrent_assertion_item_declaration | ; anonymous_program = program ; { anonymous_program_item } endprogram anonymous_program_item = task_declaration | function_declaration | class_declaration | covergroup_declaration | class_constructor_declaration | ; A.2 Declarations A.2.1 Declaration types A.2.1.1 Module parameter declarations local_parameter_declaration = localparam data_type_or_implicit list_of_param_assignments ; | localparam type list_of_type_assignments ; parameter_declaration = parameter data_type_or_implicit list_of_param_assignments | parameter type list_of_type_assignments specparam_declaration = specparam [ packed_dimension ] list_of_specparam_assignments ; A.2.1.2 Port declarations inout_declaration = inout net_port_type list_of_port_identifiers input_declaration = input net_port_type list_of_port_identifiers | input variable_port_type list_of_variable_identifiers output_declaration = output net_port_type list_of_port_identifiers | output variable_port_type list_of_variable_port_identifiers interface_port_declaration = interface_identifier list_of_interface_identifiers | interface_identifier . modport_identifier list_of_interface_identifiers ref_declaration = ref variable_port_type list_of_port_identifiers A.2.1.3 Type declarations data_declaration14 = [ const ] [ var ] [ lifetime ] data_type_or_implicit list_of_variable_decl_assignments ; | type_declaration | package_import_declaration | virtual_interface_declaration package_import_declaration = import package_import_item { , package_import_item } ; package_import_item = package_identifier identifier | package_identifier * genvar_declaration = genvar list_of_genvar_identifiers ; net_declaration13 = net_type [ drive_strength | charge_strength ] [ vectored | scalared ] data_type_or_implicit [ delay3 ] list_of_net_decl_assignments ; type_declaration = typedef data_type type_identifier { variable_dimension } ; | typedef interface_instance_identifier . type_identifier type_identifier ; | typedef [ enum | struct | union | class ] type_identifier ; lifetime = static | automatic A.2.2 Declaration data types A.2.2.1 Net and variable types casting_type = simple_type | constant_primary | signing data_type = integer_vector_type [ signing ] { packed_dimension } | integer_atom_type [ signing ] | non_integer_type | struct_union [ packed [ signing ] ] { struct_union_member { struct_union_member } } { packed_dimension }12 | enum [ enum_base_type ] { enum_name_declaration { , enum_name_declaration } } | string | chandle | virtual [ interface ] interface_identifier | [ class_scope | package_scope ] type_identifier { packed_dimension } | class_type | event | ps_covergroup_identifier | type_reference28 data_type_or_implicit = data_type | [ signing ] { packed_dimension } enum_base_type = integer_atom_type [ signing ] | integer_vector_type [ signing ] [ packed_dimension ] | type_identifier [ packed_dimension ]23 enum_name_declaration = enum_identifier [ [ integral_number [ integral_number ] ] ] [ = constant_expression ] class_scope = class_type class_type = ps_class_identifier [ parameter_value_assignment ] { class_identifier [ parameter_value_assignment ] } integer_type = integer_vector_type | integer_atom_type integer_atom_type = byte | shortint | int | longint | integer | time integer_vector_type = bit | logic | reg non_integer_type = shortreal | real | realtime net_type = supply0 | supply1 | tri | triand | trior | trireg| tri0 | tri1 | uwire| wire | wand | wor net_port_type33 = [ net_type ] data_type_or_implicit variable_port_type = var_data_type var_data_type = data_type | var data_type_or_implicit signing = signed | unsigned simple_type = integer_type | non_integer_type | ps_type_identifier | ps_parameter_identifier struct_union_member26 = { attribute_instance } [random_qualifier] data_type_or_void list_of_variable_decl_assignments ; data_type_or_void = data_type | void struct_union = struct | union [ tagged ] type_reference = type ( expression27 ) | type ( data_type ) A.2.2.2 Strengths drive_strength = ( strength0 , strength1 ) | ( strength1 , strength0 ) | ( strength0 , highz1 ) | ( strength1 , highz0 ) | ( highz0 , strength1 ) | ( highz1 , strength0 ) strength0 = supply0 | strong0 | pull0 | weak0 strength1 = supply1 | strong1 | pull1 | weak1 charge_strength = ( small ) | ( medium ) | ( large ) A.2.2.3 Delays delay3 = # delay_value | # ( mintypmax_expression [ , mintypmax_expression [ , mintypmax_expression ] ] ) delay2 = # delay_value | # ( mintypmax_expression [ , mintypmax_expression ] ) delay_value = unsigned_number | real_number | ps_identifier | time_literal A.2.3 Declaration lists list_of_defparam_assignments = defparam_assignment { , defparam_assignment } list_of_genvar_identifiers = genvar_identifier { , genvar_identifier } list_of_interface_identifiers = interface_identifier { unpacked_dimension } { , interface_identifier { unpacked_dimension } } list_of_net_decl_assignments = net_decl_assignment { , net_decl_assignment } list_of_param_assignments = param_assignment { , param_assignment } list_of_port_identifiers = port_identifier { unpacked_dimension } { , port_identifier { unpacked_dimension } } list_of_udp_port_identifiers = port_identifier { , port_identifier } list_of_specparam_assignments = specparam_assignment { , specparam_assignment } list_of_tf_variable_identifiers = port_identifier { variable_dimension } [ = expression ] { , port_identifier { variable_dimension } [ = expression ] } list_of_type_assignments = type_assignment { , type_assignment } list_of_variable_decl_assignments = variable_decl_assignment { , variable_decl_assignment } list_of_variable_identifiers = variable_identifier { variable_dimension } { , variable_identifier { variable_dimension } } list_of_variable_port_identifiers = port_identifier { variable_dimension } [ = constant_expression ] { , port_identifier { variable_dimension } [ = constant_expression ] } list_of_virtual_interface_decl = variable_identifier [ = interface_instance_identifier ] { , variable_identifier [ = interface_instance_identifier ] } A.2.4 Declaration assignments defparam_assignment = hierarchical_parameter_identifier = constant_mintypmax_expression net_decl_assignment = net_identifier { unpacked_dimension } [ = expression ] param_assignment = parameter_identifier { unpacked_dimension } = constant_param_expression specparam_assignment = specparam_identifier = constant_mintypmax_expression | pulse_control_specparam type_assignment = type_identifier = data_type pulse_control_specparam = PATHPULSE$ = ( reject_limit_value [ , error_limit_value ] ) | PATHPULSE$specify_input_terminal_descriptor$specify_output_terminal_descriptor = ( reject_limit_value [ , error_limit_value ] ) error_limit_value = limit_value reject_limit_value = limit_value limit_value = constant_mintypmax_expression variable_decl_assignment = variable_identifier { variable_dimension } [ = expression ] | dynamic_array_variable_identifier [ ] [ = dynamic_array_new ] | class_variable_identifier [ = class_new ] | [ covergroup_variable_identifier ] = new [ ( list_of_arguments ) ]15 class_new19 = new [ ( list_of_arguments ) | expression ] dynamic_array_new = new [ expression ] [ ( expression ) ] A.2.5 Declaration ranges unpacked_dimension = [ constant_range ] | [ constant_expression ] packed_dimension11 = [ constant_range ] | unsized_dimension associative_dimension = [ data_type ] | [ * ] variable_dimension = unsized_dimension | unpacked_dimension | associative_dimension | queue_dimension queue_dimension = [ $ [ constant_expression ] ] unsized_dimension = [ ] A.2.6 Function declarations function_data_type = data_type | void function_data_type_or_implicit = function_data_type | [ signing ] { packed_dimension } function_declaration = function [ lifetime ] function_body_declaration function_body_declaration = function_data_type_or_implicit [ interface_identifier . | class_scope ] function_identifier ; { tf_item_declaration } { function_statement_or_null } endfunction [ function_identifier ] | function_data_type_or_implicit [ interface_identifier . | class_scope ] function_identifier ( [ tf_port_list ] ) ; { block_item_declaration } { function_statement_or_null } endfunction [ function_identifier ] function_prototype = function function_data_type function_identifier ( [ tf_port_list ] ) dpi_import_export = import dpi_spec_string [ dpi_function_import_property ] [ c_identifier = ] dpi_function_proto ; | import dpi_spec_string [ dpi_task_import_property ] [ c_identifier = ] dpi_task_proto ; | export dpi_spec_string [ c_identifier = ] function function_identifier ; | export dpi_spec_string [ c_identifier = ] task task_identifier ; dpi_spec_string = "DPI-C" | "DPI" dpi_function_import_property = context | pure dpi_task_import_property = context dpi_function_proto8,9 = function_prototype dpi_task_proto9 = task_prototype A.2.7 Task declarations task_declaration = task [ lifetime ] task_body_declaration task_body_declaration = [ interface_identifier . | class_scope ] task_identifier ; { tf_item_declaration } { statement_or_null } endtask [ task_identifier ] | [ interface_identifier . | class_scope ] task_identifier ( [ tf_port_list ] ) ; { block_item_declaration } { statement_or_null } endtask [ task_identifier ] tf_item_declaration = block_item_declaration | tf_port_declaration tf_port_list = tf_port_item { , tf_port_item } tf_port_item34 = { attribute_instance } [ tf_port_direction ] [ var ] data_type_or_implicit [ port_identifier { variable_dimension } [ = expression ] ] tf_port_direction = port_direction | const ref tf_port_declaration = { attribute_instance } tf_port_direction [ var ] data_type_or_implicit list_of_tf_variable_identifiers ; task_prototype = task task_identifier ( [ tf_port_list ] ) A.2.8 Block item declarations block_item_declaration = { attribute_instance } data_declaration | { attribute_instance } local_parameter_declaration | { attribute_instance } parameter_declaration ; | { attribute_instance } overload_declaration overload_declaration = bind overload_operator function data_type function_identifier ( overload_proto_formals ) ; overload_operator = + | ++ | ? | ? ? | * | ** | / | % | == | != | | = | | = | = overload_proto_formals = data_type {, data_type} A.2.9 Interface declarations virtual_interface_declaration = virtual [ interface ] interface_identifier list_of_virtual_interface_decl ; modport_declaration = modport modport_item { , modport_item } ; modport_item = modport_identifier ( modport_ports_declaration { , modport_ports_declaration } ) modport_ports_declaration = { attribute_instance } modport_simple_ports_declaration | { attribute_instance } modport_tf_ports_declaration | { attribute_instance } modport_clocking_declaration modport_clocking_declaration = clocking clocking_identifier modport_simple_ports_declaration = port_direction modport_simple_port { , modport_simple_port } modport_simple_port = port_identifier | . port_identifier ( [ expression ] ) modport_tf_ports_declaration = import_export modport_tf_port { , modport_tf_port } modport_tf_port = method_prototype | tf_identifier import_export = import | export A.2.10 Assertion declarations concurrent_assertion_item = [ block_identifier ] concurrent_assertion_statement concurrent_assertion_statement = assert_property_statement | assume_property_statement | cover_property_statement assert_property_statement = assert property ( property_spec ) action_block assume_property_statement = assume property ( property_spec ) ; cover_property_statement = cover property ( property_spec ) statement_or_null expect_property_statement = expect ( property_spec ) action_block property_instance = ps_property_identifier [ ( [ list_of_arguments ] ) ] concurrent_assertion_item_declaration = property_declaration | sequence_declaration property_declaration = property property_identifier [ ( [ tf_port_list ] ) ] ; { assertion_variable_declaration } property_spec ; endproperty [ property_identifier ] property_spec = [clocking_event ] [ disable iff ( expression_or_dist ) ] property_expr property_expr = sequence_expr | ( property_expr ) | not property_expr | property_expr or property_expr | property_expr and property_expr | sequence_expr |- property_expr | sequence_expr |= property_expr | if ( expression_or_dist ) property_expr [ else property_expr ] | property_instance | clocking_event property_expr sequence_declaration = sequence sequence_identifier [ ( [ tf_port_list ] ) ] ; { assertion_variable_declaration } sequence_expr ; endsequence [ sequence_identifier ] sequence_expr = cycle_delay_range sequence_expr { cycle_delay_range sequence_expr } | sequence_expr cycle_delay_range sequence_expr { cycle_delay_range sequence_expr } | expression_or_dist [ boolean_abbrev ] | ( expression_or_dist {, sequence_match_item } ) [ boolean_abbrev ] | sequence_instance [ sequence_abbrev ] | ( sequence_expr {, sequence_match_item } ) [ sequence_abbrev ] | sequence_expr and sequence_expr | sequence_expr intersect sequence_expr | sequence_expr or sequence_expr | first_match ( sequence_expr {, sequence_match_item} ) | expression_or_dist throughout sequence_expr | sequence_expr within sequence_expr | clocking_event sequence_expr cycle_delay_range = ## integral_number | ## identifier | ## ( constant_expression ) | ## [ cycle_delay_const_range_expression ] sequence_method_call = sequence_instance . method_identifier sequence_match_item = operator_assignment | inc_or_dec_expression | subroutine_call sequence_instance = ps_sequence_identifier [ ( [ list_of_arguments ] ) ] formal_list_item = formal_identifier [ = actual_arg_expr ] list_of_formals = formal_list_item { , formal_list_item } actual_arg_expr = event_expression | $ boolean_abbrev = consecutive_repetition | non_consecutive_repetition | goto_repetition sequence_abbrev = consecutive_repetition consecutive_repetition = [* const_or_range_expression ] non_consecutive_repetition = [= const_or_range_expression ] goto_repetition = [- const_or_range_expression ] const_or_range_expression = constant_expression | cycle_delay_const_range_expression cycle_delay_const_range_expression = constant_expression constant_expression | constant_expression $ expression_or_dist = expression [ dist { dist_list } ] assertion_variable_declaration = var_data_type list_of_variable_identifiers ; A.2.11 Covergroup declarations covergroup_declaration = covergroup covergroup_identifier [ ( [ tf_port_list ] ) ] [ coverage_event ] ; { coverage_spec_or_option } endgroup [ covergroup_identifier ] coverage_spec_or_option = {attribute_instance} coverage_spec | {attribute_instance} coverage_option ; coverage_option = option.member_identifier = expression | type_option.member_identifier = expression coverage_spec = cover_point | cover_cross coverage_event = clocking_event | @@( block_event_expression ) block_event_expression = block_event_expression or block_event_expression | begin hierarchical_btf_identifier | end hierarchical_btf_identifier hierarchical_btf_identifier = hierarchical_tf_identifier | hierarchical_block_identifier | hierarchical_identifier [ class_scope ] method_identifier cover_point = [ cover_point_identifier ] coverpoint expression [ iff ( expression ) ] bins_or_empty bins_or_empty = { {attribute_instance} { bins_or_options ; } } | ; bins_or_options = coverage_option | [ wildcard ] bins_keyword bin_identifier [ [ [ expression ] ] ] = { open_range_list } [ iff ( expression ) ] | [ wildcard] bins_keyword bin_identifier [ [ ] ] = trans_list [ iff ( expression ) ] | bins_keyword bin_identifier [ [ [ expression ] ] ] = default [ iff ( expression ) ] | bins_keyword bin_identifier = default sequence [ iff ( expression ) ] bins_keyword = bins | illegal_bins | ignore_bins range_list = value_range { , value_range } trans_list = ( trans_set ) { , ( trans_set ) } trans_set = trans_range_list { = trans_range_list } trans_range_list = trans_item | trans_item [ [* repeat_range ] ] | trans_item [ [- repeat_range ] ] | trans_item [ [= repeat_range ] ] trans_item = range_list repeat_range = expression | expression expression cover_cross = [ cover_point_identifier ] cross list_of_coverpoints [ iff ( expression ) ] select_bins_or_empty list_of_coverpoints = cross_item , cross_item { , cross_item } cross_item = cover_point_identifier | variable_identifier select_bins_or_empty = { { bins_selection_or_option ; } } | ; bins_selection_or_option = { attribute_instance } coverage_option | { attribute_instance } bins_selection bins_selection = bins_keyword bin_identifier = select_expression [ iff ( expression ) ] select_expression = select_condition | ! select_condition | select_expression select_expression | select_expression || select_expression | ( select_expression ) select_condition = binsof ( bins_expression ) [ intersect { open_range_list } ] bins_expression = variable_identifier | cover_point_identifier [ . bins_identifier ] open_range_list = open_value_range { , open_value_range } open_value_range = value_range20 A.3 Primitive instances A.3.1 Primitive instantiation and instances gate_instantiation = cmos_switchtype [delay3] cmos_switch_instance { , cmos_switch_instance } ; | enable_gatetype [drive_strength] [delay3] enable_gate_instance { , enable_gate_instance } ; | mos_switchtype [delay3] mos_switch_instance { , mos_switch_instance } ; | n_input_gatetype [drive_strength] [delay2] n_input_gate_instance { , n_input_gate_instance } ; | n_output_gatetype [drive_strength] [delay2] n_output_gate_instance { , n_output_gate_instance } ; | pass_en_switchtype [delay2] pass_enable_switch_instance { , pass_enable_switch_instance } ; | pass_switchtype pass_switch_instance { , pass_switch_instance } ; | pulldown [pulldown_strength] pull_gate_instance { , pull_gate_instance } ; | pullup [pullup_strength] pull_gate_instance { , pull_gate_instance } ; cmos_switch_instance = [ name_of_instance ] ( output_terminal , input_terminal , ncontrol_terminal , pcontrol_terminal ) enable_gate_instance = [ name_of_instance ] ( output_terminal , input_terminal , enable_terminal ) mos_switch_instance = [ name_of_instance ] ( output_terminal , input_terminal , enable_terminal ) n_input_gate_instance = [ name_of_instance ] ( output_terminal , input_terminal { , input_terminal } ) n_output_gate_instance = [ name_of_instance ] ( output_terminal { , output_terminal } , input_terminal ) pass_switch_instance = [ name_of_instance ] ( inout_terminal , inout_terminal ) pass_enable_switch_instance = [ name_of_instance ] ( inout_terminal , inout_terminal , enable_terminal ) pull_gate_instance = [ name_of_instance ] ( output_terminal ) A.3.2 Primitive strengths pulldown_strength = ( strength0 , strength1 ) | ( strength1 , strength0 ) | ( strength0 ) pullup_strength = ( strength0 , strength1 ) | ( strength1 , strength0 ) | ( strength1 ) A.3.3 Primitive terminals enable_terminal = expression inout_terminal = net_lvalue input_terminal = expression ncontrol_terminal = expression output_terminal = net_lvalue pcontrol_terminal = expression A.3.4 Primitive gate and switch types cmos_switchtype = cmos | rcmos enable_gatetype = bufif0 | bufif1 | notif0 | notif1 mos_switchtype = nmos | pmos | rnmos | rpmos n_input_gatetype = and | nand | or | nor | xor | xnor n_output_gatetype = buf | not pass_en_switchtype = tranif0 | tranif1 | rtranif1 | rtranif0 pass_switchtype = tran | rtran A.4 Module, interface and generated instantiation A.4.1 Instantiation A.4.1.1 Module instantiation module_instantiation = module_identifier [ parameter_value_assignment ] hierarchical_instance { , hierarchical_instance } ; parameter_value_assignment = # ( [ list_of_parameter_assignments ] ) list_of_parameter_assignments = ordered_parameter_assignment { , ordered_parameter_assignment } | named_parameter_assignment { , named_parameter_assignment } ordered_parameter_assignment = param_expression named_parameter_assignment = . parameter_identifier ( [ param_expression ] ) hierarchical_instance = name_of_instance ( [ list_of_port_connections ] ) name_of_instance = instance_identifier { unpacked_dimension } list_of_port_connections16 = ordered_port_connection { , ordered_port_connection } | named_port_connection { , named_port_connection } ordered_port_connection = { attribute_instance } [ expression ] named_port_connection = { attribute_instance } . port_identifier [ ( [ expression ] ) ] | { attribute_instance } .* A.4.1.2 Interface instantiation interface_instantiation = interface_identifier [ parameter_value_assignment ] hierarchical_instance { , hierarchical_instance } ; A.4.1.3 Program instantiation program_instantiation = program_identifier [ parameter_value_assignment ] hierarchical_instance { , hierarchical_instance } ; A.4.2 Generated instantiation module_or_interface_or_generate_item31 = module_or_generate_item | interface_or_generate_item generate_region = generate { module_or_interface_or_generate_item } endgenerate loop_generate_construct = for ( genvar_initialization ; genvar_expression ; genvar_iteration ) generate_block genvar_initialization = [ genvar ] genvar_identifier = constant_expression genvar_iteration = genvar_identifier assignment_operator genvar_expression | inc_or_dec_operator genvar_identifier | genvar_identifier inc_or_dec_operator conditional_generate_construct = if_generate_construct | case_generate_construct if_generate_construct = if ( constant_expression ) generate_block_or_null [ else generate_block_or_null ] case_generate_construct = case ( constant_expression ) case_generate_item { case_generate_item } endcase case_generate_item = constant_expression { , constant_expression } generate_block_or_null | default [ ] generate_block_or_null generate_block = module_or_interface_or_generate_item | [ generate_block_identifier ] begin [ generate_block_identifier ] { module_or_interface_or_generate_item } end [ generate_block_identifier ] generate_block_or_null = generate_block | ; A.5 UDP declaration and instantiation A.5.1 UDP declaration udp_nonansi_declaration = { attribute_instance } primitive udp_identifier ( udp_port_list ) ; udp_ansi_declaration = { attribute_instance } primitive udp_identifier ( udp_declaration_port_list ) ; udp_declaration = udp_nonansi_declaration udp_port_declaration { udp_port_declaration } udp_body endprimitive [ udp_identifier ] | udp_ansi_declaration udp_body endprimitive [ udp_identifier ] | extern udp_nonansi_declaration | extern udp_ansi_declaration | { attribute_instance } primitive udp_identifier ( .* ) ; { udp_port_declaration } udp_body endprimitive [ udp_identifier ] A.5.2 UDP ports udp_port_list = output_port_identifier , input_port_identifier { , input_port_identifier } udp_declaration_port_list = udp_output_declaration , udp_input_declaration { , udp_input_declaration } udp_port_declaration = udp_output_declaration ; | udp_input_declaration ; | udp_reg_declaration ; udp_output_declaration = { attribute_instance } output port_identifier | { attribute_instance } output reg port_identifier [ = constant_expression ] udp_input_declaration = { attribute_instance } input list_of_udp_port_identifiers udp_reg_declaration = { attribute_instance } reg variable_identifier A.5.3 UDP body udp_body = combinational_body | sequential_body combinational_body = table combinational_entry { combinational_entry } endtable combinational_entry = level_input_list output_symbol ; sequential_body = [ udp_initial_statement ] table sequential_entry { sequential_entry } endtable udp_initial_statement = initial output_port_identifier = init_val ; init_val = 1’b0 | 1’b1 | 1’bx | 1’bX | 1’B0 | 1’B1 | 1’Bx | 1’BX | 1 | 0 sequential_entry = seq_input_list current_state next_state ; seq_input_list = level_input_list | edge_input_list level_input_list = level_symbol { level_symbol } edge_input_list = { level_symbol } edge_indicator { level_symbol } edge_indicator = ( level_symbol level_symbol ) | edge_symbol current_state = level_symbol next_state = output_symbol | - output_symbol = 0 | 1 | x | X level_symbol = 0 | 1 | x | X | ? | b | B edge_symbol = r | R | f | F | p | P | n | N | * A.5.4 UDP instantiation udp_instantiation = udp_identifier [ drive_strength ] [ delay2 ] udp_instance { , udp_instance } ; udp_instance = [ name_of_instance ] ( output_terminal , input_terminal { , input_terminal } ) A.6 Behavioral statements A.6.1 Continuous assignment and net alias statements continuous_assign = assign [ drive_strength ] [ delay3 ] list_of_net_assignments ; | assign [ delay_control ] list_of_variable_assignments ; list_of_net_assignments = net_assignment { , net_assignment } list_of_variable_assignments = variable_assignment { , variable_assignment } net_alias = alias net_lvalue = net_lvalue { = net_lvalue } ; net_assignment = net_lvalue = expression A.6.2 Procedural blocks and assignments initial_construct = initial statement_or_null always_construct = always_keyword statement always_keyword = always | always_comb | always_latch | always_ff final_construct = final function_statement blocking_assignment = variable_lvalue = delay_or_event_control expression | hierarchical_dynamic_array_variable_identifier = dynamic_array_new | [ implicit_class_handle . | class_scope | package_scope ] hierarchical_variable_identifier select = class_new | operator_assignment operator_assignment = variable_lvalue assignment_operator expression assignment_operator = = | += | -= | *= | /= | %= | = | |= | ^= | = | = | = | = nonblocking_assignment = variable_lvalue = [ delay_or_event_control ] expression procedural_continuous_assignment = assign variable_assignment | deassign variable_lvalue | force variable_assignment | force net_assignment | release variable_lvalue | release net_lvalue variable_assignment = variable_lvalue = expression A.6.3 Parallel and sequential blocks action_block = statement_or_null | [ statement ] else statement_or_null seq_block = begin [ block_identifier ] { block_item_declaration } { statement_or_null } end [ block_identifier ] par_block = fork [ block_identifier ] { block_item_declaration } { statement_or_null } join_keyword [ block_identifier ] join_keyword = join | join_any | join_none A.6.4 Statements statement_or_null = statement | { attribute_instance } ; statement = [ block_identifier ] { attribute_instance } statement_item statement_item = blocking_assignment ; | nonblocking_assignment ; | procedural_continuous_assignment ; | case_statement | conditional_statement | inc_or_dec_expression ; | subroutine_call_statement | disable_statement | event_trigger | loop_statement | jump_statement | par_block | procedural_timing_control_statement | seq_block | wait_statement | procedural_assertion_statement | clocking_drive ; | randsequence_statement | randcase_statement | expect_property_statement function_statement = statement function_statement_or_null = function_statement | { attribute_instance } ; variable_identifier_list = variable_identifier { , variable_identifier } A.6.5 Timing control statements procedural_timing_control_statement = procedural_timing_control statement_or_null delay_or_event_control = delay_control | event_control | repeat ( expression ) event_control delay_control = # delay_value | # ( mintypmax_expression ) event_control = @ hierarchical_event_identifier | @ ( event_expression ) | @* | @ (*) | @ sequence_instance event_expression = [ edge_identifier ] expression [ iff expression ] | sequence_instance [ iff expression ] | event_expression or event_expression | event_expression , event_expression procedural_timing_control = delay_control | event_control | cycle_delay jump_statement = return [ expression ] ; | break ; | continue ; wait_statement = wait ( expression ) statement_or_null | wait fork ; | wait_order ( hierarchical_identifier { , hierarchical_identifier } ) action_block event_trigger = - hierarchical_event_identifier ; |- [ delay_or_event_control ] hierarchical_event_identifier ; disable_statement = disable hierarchical_task_identifier ; | disable hierarchical_block_identifier ; | disable fork ; A.6.6 Conditional statements conditional_statement = if ( cond_predicate ) statement_or_null [ else statement_or_null ] | unique_priority_if_statement unique_priority_if_statement = [ unique_priority ] if ( cond_predicate ) statement_or_null { else if ( cond_predicate ) statement_or_null } [ else statement_or_null ] unique_priority = unique | priority cond_predicate = expression_or_cond_pattern { expression_or_cond_pattern } expression_or_cond_pattern = expression | cond_pattern cond_pattern = expression matches pattern A.6.7 Case statements case_statement = [ unique_priority ] case_keyword ( expression ) case_item { case_item } endcase | [ unique_priority ] case_keyword ( expression ) matches case_pattern_item { case_pattern_item } endcase | [ unique_priority ] case ( expression ) inside case_inside_item { case_inside_item } endcase case_keyword = case | casez | casex case_item = expression { , expression } statement_or_null | default [ ] statement_or_null case_pattern_item = pattern [ expression ] statement_or_null | default [ ] statement_or_null case_inside_item = open_range_list statement_or_null | default [ ] statement_or_null randcase_statement = randcase randcase_item { randcase_item } endcase randcase_item = expression statement_or_null A.6.7.1 Patterns pattern = . variable_identifier | .* | constant_expression | tagged member_identifier [ pattern ] | ’{ pattern { , pattern } } | ’{ member_identifier pattern { , member_identifier pattern } } assignment_pattern = { expression { , expression } } | { structure_pattern_key expression { , structure_pattern_key expression } } | { array_pattern_key expression { , array_pattern_key expression } } | { constant_expression { expression { , expression } } } structure_pattern_key = member_identifier | assignment_pattern_key array_pattern_key = constant_expression | assignment_pattern_key assignment_pattern_key = simple_type | default assignment_pattern_expression = [ assignment_pattern_expression_type ] assignment_pattern assignment_pattern_expression_type = ps_type_identifier | ps_parameter_identifier | integer_atom_type constant_assignment_pattern_expression35 = assignment_pattern_expression assignment_pattern_net_lvalue = { net_lvalue {, net_lvalue } } assignment_pattern_variable_lvalue = { variable_lvalue {, variable_lvalue } } A.6.8 Looping statements loop_statement = forever statement_or_null | repeat ( expression ) statement_or_null | while ( expression ) statement_or_null | for ( for_initialization ; expression ; for_step ) statement_or_null | do statement_or_null while ( expression ) ; | foreach ( array_identifier [ loop_variables ] ) statement for_initialization = list_of_variable_assignments | for_variable_declaration { , for_variable_declaration } for_variable_declaration = data_type variable_identifier = expression { , variable_identifier = expression } for_step = for_step_assignment { , for_step_assignment } for_step_assignment = operator_assignment | inc_or_dec_expression | function_subroutine_call loop_variables = [ index_variable_identifier ] { , [ index_variable_identifier ] } A.6.9 Subroutine call statements subroutine_call_statement = subroutine_call ; | void ( function_subroutine_call ) ; A.6.10 Assertion statements procedural_assertion_statement = concurrent_assertion_statement | immediate_assert_statement immediate_assert_statement = assert ( expression ) action_block A.6.11 Clocking block clocking_declaration = [ default ] clocking [ clocking_identifier ] clocking_event ; { clocking_item } endclocking [ clocking_identifier ] clocking_event = @ identifier | @ ( event_expression ) clocking_item = default default_skew ; | clocking_direction list_of_clocking_decl_assign ; | { attribute_instance } concurrent_assertion_item_declaration default_skew = input clocking_skew | output clocking_skew | input clocking_skew output clocking_skew clocking_direction = input [ clocking_skew ] | output [ clocking_skew ] | input [ clocking_skew ] output [ clocking_skew ] | inout list_of_clocking_decl_assign = clocking_decl_assign { , clocking_decl_assign } clocking_decl_assign = signal_identifier [ = expression ] clocking_skew = edge_identifier [ delay_control ] | delay_control clocking_drive = clockvar_expression = [ cycle_delay ] expression | cycle_delay clockvar_expression = expression cycle_delay = ## integral_number | ## identifier | ## ( expression ) clockvar = hierarchical_identifier clockvar_expression = clockvar select A.6.12 Randsequence randsequence_statement = randsequence ( [ production_identifier ] ) production { production } endsequence production = [ function_data_type ] production_identifier [ ( tf_port_list ) ] rs_rule { | rs_rule } ; rs_rule = rs_production_list [ = weight_specification [ rs_code_block ] ] rs_production_list = rs_prod { rs_prod } | rand join [ ( expression ) ] production_item production_item { production_item } weight_specification = integral_number | ps_identifier | ( expression ) rs_code_block = { { data_declaration } { statement_or_null } } rs_prod = production_item | rs_code_block | rs_if_else | rs_repeat | rs_case production_item = production_identifier [ ( list_of_arguments ) ] rs_if_else = if ( expression ) production_item [ else production_item ] rs_repeat = repeat ( expression ) production_item rs_case = case ( expression ) rs_case_item { rs_case_item } endcase rs_case_item = expression { , expression } production_item ; | default [ ] production_item ; A.7 Specify section A.7.1 Specify block declaration specify_block = specify { specify_item } endspecify specify_item = specparam_declaration | pulsestyle_declaration | showcancelled_declaration | path_declaration | system_timing_check pulsestyle_declaration = pulsestyle_onevent list_of_path_outputs ; | pulsestyle_ondetect list_of_path_outputs ; showcancelled_declaration = showcancelled list_of_path_outputs ; | noshowcancelled list_of_path_outputs ; A.7.2 Specify path declarations path_declaration = simple_path_declaration ; | edge_sensitive_path_declaration ; | state_dependent_path_declaration ; simple_path_declaration = parallel_path_description = path_delay_value | full_path_description = path_delay_value parallel_path_description = ( specify_input_terminal_descriptor [ polarity_operator ] = specify_output_terminal_descriptor ) full_path_description = ( list_of_path_inputs [ polarity_operator ] * list_of_path_outputs ) list_of_path_inputs = specify_input_terminal_descriptor { , specify_input_terminal_descriptor } list_of_path_outputs = specify_output_terminal_descriptor { , specify_output_terminal_descriptor } A.7.3 Specify block terminals specify_input_terminal_descriptor = input_identifier [ [ constant_range_expression ] ] specify_output_terminal_descriptor = output_identifier [ [ constant_range_expression ] ] input_identifier = input_port_identifier | inout_port_identifier | interface_identifier.port_identifier output_identifier = output_port_identifier | inout_port_identifier | interface_identifier.port_identifier A.7.4 Specify path delays path_delay_value = list_of_path_delay_expressions | ( list_of_path_delay_expressions ) list_of_path_delay_expressions = t_path_delay_expression | trise_path_delay_expression , tfall_path_delay_expression | trise_path_delay_expression , tfall_path_delay_expression , tz_path_delay_expression | t01_path_delay_expression , t10_path_delay_expression , t0z_path_delay_expression , tz1_path_delay_expression , t1z_path_delay_expression , tz0_path_delay_expression | t01_path_delay_expression , t10_path_delay_expression , t0z_path_delay_expression , tz1_path_delay_expression , t1z_path_delay_expression , tz0_path_delay_expression , t0x_path_delay_expression , tx1_path_delay_expression , t1x_path_delay_expression , tx0_path_delay_expression , txz_path_delay_expression , tzx_path_delay_expression t_path_delay_expression = path_delay_expression trise_path_delay_expression = path_delay_expression tfall_path_delay_expression = path_delay_expression tz_path_delay_expression = path_delay_expression t01_path_delay_expression = path_delay_expression t10_path_delay_expression = path_delay_expression t0z_path_delay_expression = path_delay_expression tz1_path_delay_expression = path_delay_expression t1z_path_delay_expression = path_delay_expression tz0_path_delay_expression = path_delay_expression t0x_path_delay_expression = path_delay_expression tx1_path_delay_expression = path_delay_expression t1x_path_delay_expression = path_delay_expression tx0_path_delay_expression = path_delay_expression txz_path_delay_expression = path_delay_expression tzx_path_delay_expression = path_delay_expression path_delay_expression = constant_mintypmax_expression edge_sensitive_path_declaration = parallel_edge_sensitive_path_description = path_delay_value | full_edge_sensitive_path_description = path_delay_value parallel_edge_sensitive_path_description = ( [ edge_identifier ] specify_input_terminal_descriptor = ( specify_output_terminal_descriptor [ polarity_operator ] data_source_expression ) ) full_edge_sensitive_path_description = ( [ edge_identifier ] list_of_path_inputs * ( list_of_path_outputs [ polarity_operator ] data_source_expression ) ) data_source_expression = expression edge_identifier = posedge | negedge state_dependent_path_declaration = if ( module_path_expression ) simple_path_declaration | if ( module_path_expression ) edge_sensitive_path_declaration | ifnone simple_path_declaration polarity_operator = + | - A.7.5 System timing checks A.7.5.1 System timing check commands system_timing_check = $setup_timing_check | $hold_timing_check | $setuphold_timing_check | $recovery_timing_check | $removal_timing_check | $recrem_timing_check | $skew_timing_check | $timeskew_timing_check | $fullskew_timing_check | $period_timing_check | $width_timing_check | $nochange_timing_check $setup_timing_check = $setup ( data_event , reference_event , timing_check_limit [ , [ notifier ] ] ) ; $hold_timing_check = $hold ( reference_event , data_event , timing_check_limit [ , [ notifier ] ] ) ; $setuphold_timing_check = $setuphold ( reference_event , data_event , timing_check_limit , timing_check_limit [ , [ notifier ] [ , [ stamptime_condition ] [ , [ checktime_condition ] [ , [ delayed_reference ] [ , [ delayed_data ] ] ] ] ] ] ) ; $recovery_timing_check = $recovery ( reference_event , data_event , timing_check_limit [ , [ notifier ] ] ) ; $removal_timing_check = $removal ( reference_event , data_event , timing_check_limit [ , [ notifier ] ] ) ; $recrem_timing_check = $recrem ( reference_event , data_event , timing_check_limit , timing_check_limit [ , [ notifier ] [ , [ stamptime_condition ] [ , [ checktime_condition ] [ , [ delayed_reference ] [ , [ delayed_data ] ] ] ] ] ] ) ; $skew_timing_check = $skew ( reference_event , data_event , timing_check_limit [ , [ notifier ] ] ) ; $timeskew_timing_check = $timeskew ( reference_event , data_event , timing_check_limit [ , [ notifier ] [ , [ event_based_flag ] [ , [ remain_active_flag ] ] ] ] ) ; $fullskew_timing_check = $fullskew ( reference_event , data_event , timing_check_limit , timing_check_limit [ , [ notifier ] [ , [ event_based_flag ] [ , [ remain_active_flag ] ] ] ] ) ; $period_timing_check = $period ( controlled_reference_event , timing_check_limit [ , [ notifier ] ] ) ; $width_timing_check = $width ( controlled_reference_event , timing_check_limit , threshold [ , [ notifier ] ] ) ; $nochange_timing_check = $nochange ( reference_event , data_event , start_edge_offset , end_edge_offset [ , [ notifier ] ] ) ; A.7.5.2 System timing check command arguments checktime_condition = mintypmax_expression controlled_reference_event = controlled_timing_check_event data_event = timing_check_event delayed_data = terminal_identifier | terminal_identifier [ constant_mintypmax_expression ] delayed_reference = terminal_identifier | terminal_identifier [ constant_mintypmax_expression ] end_edge_offset = mintypmax_expression event_based_flag = constant_expression notifier = variable_identifier reference_event = timing_check_event remain_active_flag = constant_mintypmax_expression stamptime_condition = mintypmax_expression start_edge_offset = mintypmax_expression threshold =constant_expression timing_check_limit = expression A.7.5.3 System timing check event definitions timing_check_event = [timing_check_event_control] specify_terminal_descriptor [ timing_check_condition ] controlled_timing_check_event = timing_check_event_control specify_terminal_descriptor [ timing_check_condition ] timing_check_event_control = posedge | negedge | edge_control_specifier specify_terminal_descriptor = specify_input_terminal_descriptor | specify_output_terminal_descriptor edge_control_specifier = edge [ edge_descriptor { , edge_descriptor } ] edge_descriptor1 = 01 | 10 | z_or_x zero_or_one | zero_or_one z_or_x zero_or_one = 0 | 1 z_or_x = x | X | z | Z timing_check_condition = scalar_timing_check_condition | ( scalar_timing_check_condition ) scalar_timing_check_condition = expression | ~ expression | expression == scalar_constant | expression === scalar_constant | expression != scalar_constant | expression !== scalar_constant scalar_constant = 1’b0 | 1’b1 | 1’B0 | 1’B1 | ’b0 | ’b1 | ’B0 | ’B1 | 1 | 0 A.8 Expressions A.8.1 Concatenations concatenation = { expression { , expression } } constant_concatenation = { constant_expression { , constant_expression } } constant_multiple_concatenation = { constant_expression constant_concatenation } module_path_concatenation = { module_path_expression { , module_path_expression } } module_path_multiple_concatenation = { constant_expression module_path_concatenation } multiple_concatenation = { expression concatenation }18 streaming_concatenation = { stream_operator [ slice_size ] stream_concatenation } stream_operator = | slice_size = simple_type | constant_expression stream_concatenation = { stream_expression { , stream_expression } } stream_expression = expression [ with [ array_range_expression ] ] array_range_expression = expression | expression expression | expression + expression | expression - expression empty_queue21 = { } A.8.2 Subroutine calls constant_function_call = function_subroutine_call24 tf_call36 = ps_or_hierarchical_tf_identifier { attribute_instance } [ ( list_of_arguments ) ] system_tf_call = system_tf_identifier [ ( list_of_arguments ) ] | system_tf_identifier ( data_type [ , expression ] ) subroutine_call = tf_call | system_tf_call | method_call | randomize_call function_subroutine_call = subroutine_call list_of_arguments = [ expression ] { , [ expression ] } { , . identifier ( [ expression ] ) } | . identifier ( [ expression ] ) { , . identifier ( [ expression ] ) } method_call = method_call_root . method_call_body method_call_body = method_identifier { attribute_instance } [ ( list_of_arguments ) ] | built_in_method_call built_in_method_call = array_manipulation_call | randomize_call array_manipulation_call = array_method_name { attribute_instance } [ ( list_of_arguments ) ] [ with ( expression ) ] randomize_call = randomize { attribute_instance } [ ( [ variable_identifier_list | null ] ) ] [ with constraint_block ] method_call_root = expression | implicit_class_handle array_method_name = method_identifier | unique | and | or | xor A.8.3 Expressions inc_or_dec_expression = inc_or_dec_operator { attribute_instance } variable_lvalue | variable_lvalue { attribute_instance } inc_or_dec_operator conditional_expression = cond_predicate ? { attribute_instance } expression expression constant_expression = constant_primary | unary_operator { attribute_instance } constant_primary | constant_expression binary_operator { attribute_instance } constant_expression | constant_expression ? { attribute_instance } constant_expression constant_expression constant_mintypmax_expression = constant_expression | constant_expression constant_expression constant_expression constant_param_expression = constant_mintypmax_expression | data_type | $ param_expression = mintypmax_expression | data_type constant_range_expression = constant_expression | constant_part_select_range constant_part_select_range = constant_range | constant_indexed_range constant_range = constant_expression constant_expression constant_indexed_range = constant_expression + constant_expression | constant_expression - constant_expression expression = primary | unary_operator { attribute_instance } primary | inc_or_dec_expression | ( operator_assignment ) | expression binary_operator { attribute_instance } expression | conditional_expression | inside_expression | tagged_union_expression tagged_union_expression = tagged member_identifier [ expression ] inside_expression = expression inside { open_range_list } value_range = expression | [ expression expression ] mintypmax_expression = expression | expression expression expression module_path_conditional_expression = module_path_expression ? { attribute_instance } module_path_expression module_path_expression module_path_expression = module_path_primary | unary_module_path_operator { attribute_instance } module_path_primary | module_path_expression binary_module_path_operator { attribute_instance } module_path_expression | module_path_conditional_expression module_path_mintypmax_expression = module_path_expression | module_path_expression module_path_expression module_path_expression part_select_range = constant_range | indexed_range indexed_range = expression + constant_expression | expression - constant_expression genvar_expression = constant_expression A.8.4 Primaries constant_primary = primary_literal | ps_parameter_identifier constant_select | specparam_identifier [ constant_range_expression ] | genvar_identifier32 | [ package_scope | class_scope ] enum_identifier | constant_concatenation | constant_multiple_concatenation | constant_function_call | ( constant_mintypmax_expression ) | constant_cast | constant_assignment_pattern_expression | type_reference29 module_path_primary = number | identifier | module_path_concatenation | module_path_multiple_concatenation | function_subroutine_call | ( module_path_mintypmax_expression ) primary = primary_literal | [ implicit_class_handle . | class_scope | package_scope ] hierarchical_identifier select | empty_queue | concatenation | multiple_concatenation | function_subroutine_call | ( mintypmax_expression ) | cast | assignment_pattern_expression | streaming_concatenation | sequence_method_call | this6 | $22 | null time_literal5 = unsigned_number time_unit | fixed_point_number time_unit time_unit = s | ms | us | ns | ps | fs | step implicit_class_handle6 = this | super | this . super bit_select = { [ expression ] } select = [ { . member_identifier bit_select } . member_identifier ] bit_select [ [ part_select_range ] ] constant_bit_select = { [ constant_expression ] } constant_select = [ { . member_identifier constant_bit_select } . member_identifier ] constant_bit_select [ [ constant_part_select_range ] ] primary_literal = number | time_literal | unbased_unsized_literal | string_literal constant_cast = casting_type ( constant_expression ) cast = casting_type ( expression ) A.8.5 Expression left-side values net_lvalue = ps_or_hierarchical_net_identifier constant_select | { net_lvalue { , net_lvalue } } | [ assignment_pattern_expression_type ] assignment_pattern_net_lvalue variable_lvalue = [ implicit_class_handle . | package_scope ] hierarchical_variable_identifier select | { variable_lvalue { , variable_lvalue } } | [ assignment_pattern_expression_type ] assignment_pattern_variable_lvalue | streaming_concatenation30 A.8.6 Operators unary_operator = + | - | ! | ~ | | ~ | | | ~| | ^ | ~^ | ^~ binary_operator = + | - | * | / | % | == | != | === | !== | ==? | !=? | | || | ** | | = | | = | | | | ^ | ^~ | ~^ | | | | inc_or_dec_operator = ++ | -- unary_module_path_operator = ! | ~ | | ~ | | | ~| | ^ | ~^ | ^~ binary_module_path_operator = == | != | | || | | | | ^ | ^~ | ~^ A.8.7 Numbers number = integral_number | real_number integral_number = decimal_number | octal_number | binary_number | hex_number decimal_number = unsigned_number | [ size ] decimal_base unsigned_number | [ size ] decimal_base x_digit { _ } | [ size ] decimal_base z_digit { _ } binary_number = [ size ] binary_base binary_value octal_number = [ size ] octal_base octal_value hex_number = [ size ] hex_base hex_value sign = + | - size = non_zero_unsigned_number non_zero_unsigned_number1 = non_zero_decimal_digit { _ | decimal_digit} real_number1 = fixed_point_number | unsigned_number [ . unsigned_number ] exp [ sign ] unsigned_number fixed_point_number1 = unsigned_number . unsigned_number exp = e | E unsigned_number1 = decimal_digit { _ | decimal_digit } binary_value1 = binary_digit { _ | binary_digit } octal_value1 = octal_digit { _ | octal_digit } hex_value1 = hex_digit { _ | hex_digit } decimal_base1 = ’[s|S]d | ’[s|S]D binary_base1 = ’[s|S]b | ’[s|S]B octal_base1 = ’[s|S]o | ’[s|S]O hex_base1 = ’[s|S]h | ’[s|S]H non_zero_decimal_digit = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 decimal_digit = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 binary_digit = x_digit | z_digit | 0 | 1 octal_digit = x_digit | z_digit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 hex_digit = x_digit | z_digit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | A | B | C | D | E | F x_digit = x | X z_digit = z | Z | ? unbased_unsized_literal = 0 | 1 | z_or_x 10 A.8.8 Strings string_literal = " { Any_ASCII_Characters } " A.9 General A.9.1 Attributes attribute_instance = (* attr_spec { , attr_spec } *) attr_spec = attr_name [ = constant_expression ] attr_name = identifier A.9.2 Comments comment = one_line_comment | block_comment one_line_comment = // comment_text \n block_comment = /* comment_text */ comment_text = { Any_ASCII_character } A.9.3 Identifiers array_identifier = identifier block_identifier = identifier bin_identifier = identifier c_identifier2 = [ a-zA-Z_ ] { [ a-zA-Z0-9_ ] } cell_identifier = identifier class_identifier = identifier class_variable_identifier = variable_identifier clocking_identifier = identifier config_identifier = identifier const_identifier = identifier constraint_identifier = identifier covergroup_identifier = identifier covergroup_variable_identifier = variable_identifier cover_point_identifier = identifier dynamic_array_variable_identifier = variable_identifier enum_identifier = identifier escaped_identifier = \ {any_ASCII_character_except_white_space} white_space formal_identifier = identifier function_identifier = identifier generate_block_identifier = identifier genvar_identifier = identifier hierarchical_block_identifier = hierarchical_identifier hierarchical_dynamic_array_variable_identifier = hierarchical_variable_identifier hierarchical_event_identifier = hierarchical_identifier hierarchical_identifier = [ $root . ] { identifier constant_bit_select . } identifier hierarchical_net_identifier = hierarchical_identifier hierarchical_parameter_identifier = hierarchical_identifier hierarchical_task_identifier = hierarchical_identifier hierarchical_tf_identifier = hierarchical_identifier hierarchical_variable_identifier = hierarchical_identifier identifier = simple_identifier | escaped_identifier index_variable_identifier = identifier interface_identifier = identifier interface_instance_identifier = identifier inout_port_identifier = identifier input_port_identifier = identifier instance_identifier = identifier library_identifier = identifier member_identifier = identifier method_identifier = identifier modport_identifier = identifier module_identifier = identifier net_identifier = identifier output_port_identifier = identifier package_identifier = identifier package_scope = package_identifier | $unit parameter_identifier = identifier port_identifier = identifier production_identifier = identifier program_identifier = identifier property_identifier = identifier ps_class_identifier = [ package_scope ] class_identifier ps_covergroup_identifier = [ package_scope ] covergroup_identifier ps_identifier = [ package_scope ] identifier ps_or_hierarchical_net_identifier = [ package_scope ] net_identifier | hierarchical_net_identifier ps_or_hierarchical_tf_identifier = [ package_scope ] tf_identifier | hierarchical_tf_identifier ps_parameter_identifier = [ package_scope ] parameter_identifier | { generate_block_identifier [ [ constant_expression ] ] . } parameter_identifier ps_property_identifier = [ package_scope ] property_identifier ps_sequence_identifier = [ package_scope ] sequence_identifier ps_type_identifier = [ package_scope ] type_identifier sequence_identifier = identifier signal_identifier = identifier simple_identifier2 = [ a-zA-Z_ ] { [ a-zA-Z0-9_$ ] } specparam_identifier = identifier system_tf_identifier3 = $[ a-zA-Z0-9_$ ]{ [ a-zA-Z0-9_$ ] } task_identifier = identifier tf_identifier = identifier terminal_identifier = identifier topmodule_identifier = identifier type_identifier = identifier udp_identifier = identifier variable_identifier = identifier A.9.4 White space white_space = space | tab | newline | eof4
https://w.atwiki.jp/kai26cf/pages/208.html
Review Music Review category J-Pop (1) Trance (1) Techno (0) Other (0) I ve / Key (2)
https://w.atwiki.jp/anthony/pages/34.html
ddclientでDynamic DNSのNo-IPを自動更新 長らくお世話になっていたDynDNSが無料サービスを終了するため、No-IPに移行することにしました。 Global IPの変更を自動的に行うため、Debianで利用可能なddclientを使います。 インストール aptitude install ddclient 設定ファイル vi /etc/ddclient.conf protocol=dyndns2 use=web server=dynupdate.no-ip.com login= password= hostname.no-ip.com テスト用コマンド ddclient -daemon=0 -verbose IPに変更がないと途中で処理がスキップされるため、No-IPのWeb画面から異なるIPに変更してからテストするとよいでしょう。 これで問題がなければDaemonを起動しておく /etc/init.d/ddclient start ntpdateで時刻同期 なぜか気がついたときには時刻が1971年になっていたので(一年以上気がつかなかった?)、時刻同期を設定 aptitude install ntpdate vi /etc/default/ntpdate NTPDATE_USE_NTP_CONF=no NTPSERVERS="ntp1.jst.mfeed.ad.jp ntp2.jst.mfeed.ad.jp ntp3.jst.mfeed.ad.jp" NTPOPTIONS="" cd /etc/cron.daily/ vi ntpdate #!/bin/sh /usr/sbin/ntpdate-debian /dev/null 2 1 chmod 755 ntpdate あとはdateコマンドで日付確認 date
https://w.atwiki.jp/insane_tja/pages/324.html
曲Data Lv BPM TOTAL NOTES 平均密度 ★19 5-9999 1170 9.35Notes/s 譜面構成・攻略 譜面画像
https://w.atwiki.jp/pxs_x/pages/14.html
Passive Skills [สกิลติดตัว] เป็นสกิลที่ไม่จำเป็นต้องเรียกใช้และมีผลติดตัวไปตลอดเป็นสกิลที่สามารถเลือกได้ตั้งแต่แรก นอกจากนั้นยังเป็นสกิลออปชั่นของพวกอาวุธ เครื่องประดับ และชุดเสริมอีกด้วย แต่จะโดนถอนออกก็ต่อเมื่อโดนเวทลบล้างสกิลนั้นๆ, เปลี่ยน PERSONA หรือ SHADOW ที่ใช้ และ ถอนสกิลนั้นๆออกจาก PERSONA หรือ SHADOW ============================== กำหนดให้เลือกได้ตามนี้ Element Resistances Evade Skills - เลือกได้เพียง 2 สกิล High Evade Skills - เลือกได้เพียง 1 สกิล (เมื่อเลือกแล้วจะต้องเลือกว่านำมาแทน Evade Skills อันไหน) Resist Skills - เลือกได้เพียง 1 สกิล Null Skills / Repel Skills - เลือกได้แค่อย่างเดียวเท่านั้นและเลือกได้เพียง 1 สกิล Absorb Skills - เลือกได้เพียง 1 สกิลเท่านั้นและเมื่อเลือกแล้วจะไม่สามารถเลือก Null Skills / Repel Skills ได้ ============================== Status Resistance Resist Skills - เลือกได้เพียง 1 สกิล Null Skills / Repel Skills - เลือกได้เพียง 1 สกิล Endure / Boost / Recovery / Other / HP/SP Skill - สามารถเลือกได้ตามใจชอบ ============================== Element Resistances(ความทนทานต่อธาตุต่างๆ) ============================== [ 2P] Evade Slash เพิ่มโอกาสหลบการโจมตีประเภทSlash 20% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 2 ครั้ง) [ 2P] Evade Pierce เพิ่มโอกาสหลบการโจมตีประเภทPierce 20% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 2 ครั้ง) [ 2P] Evade Stirke เพิ่มโอกาสหลบการโจมตีประเภท Strike 20% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 2 ครั้ง) [ 2P] Evade Fire เพิ่มโอกาสหลบการโจมตีประเภท Fire 20% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 2 ครั้ง) [ 2P] Evade Wind เพิ่มโอกาสหลบการโจมตีประเภท Wind 20% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 2 ครั้ง) [ 2P] Evade Ice เพิ่มโอกาสหลบการโจมตีประเภท Ice 20% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 2 ครั้ง) [ 2P] Evade Elec เพิ่มโอกาสหลบการโจมตีประเภท Elec 20% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 2 ครั้ง) [ 2P] Evade Earth เพิ่มโอกาสหลบการโจมตีประเภท Earth 20% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 2 ครั้ง) [ 5P] High Evade Slash เพิ่มโอกาสหลบการโจมตีประเภทSlash 40% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 4 ครั้ง) (Evade Slashไม่ส่งผล เมื่อมีสกิลนี้อยู่) [ 5P] High Evade Pierce เพิ่มโอกาสหลบการโจมตีประเภทPierce 40% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 4 ครั้ง) (Evade Pierceไม่ส่งผล เมื่อมีสกิลนี้อยู่) [ 5P] High Evade Stirke เพิ่มโอกาสหลบการโจมตีประเภท Strike 40% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 4 ครั้ง) (Evade Strikeไม่ส่งผล เมื่อมีสกิลนี้อยู่) [ 5P] High Evade Fire เพิ่มโอกาสหลบการโจมตีประเภท Fire 40% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 4 ครั้ง) (Evade Fireไม่ส่งผล เมื่อมีสกิลนี้อยู่) [ 5P] High Evade Wind เพิ่มโอกาสหลบการโจมตีประเภท Wind 40% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 4 ครั้ง) (Evade Windไม่ส่งผล เมื่อมีสกิลนี้อยู่) [ 5P] High Evade Ice เพิ่มโอกาสหลบการโจมตีประเภท Ice 40% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 4 ครั้ง) (Evade Iceไม่ส่งผล เมื่อมีสกิลนี้อยู่) [ 5P] High Evade Elec เพิ่มโอกาสหลบการโจมตีประเภท Elec 40% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 4 ครั้ง) (Evade Elecไม่ส่งผล เมื่อมีสกิลนี้อยู่) [ 5P] High Evade Earth เพิ่มโอกาสหลบการโจมตีประเภท Earth 40% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 4 ครั้ง) (Evade Earthไม่ส่งผล เมื่อมีสกิลนี้อยู่) [ 2P] Resist Slash ได้รับคุณสมบัติ Slash Resistance (ลดDamageที่ได้รับจากการโจมตีแบบSlash50%) [ 2P] Resist Pierce ได้รับคุณสมบัติ Pierce Resistance (ลดDamageที่ได้รับจากการโจมตีแบบPierce50%) [ 2P] Resist Strike ได้รับคุณสมบัติ Strike Resistance (ลดDamageที่ได้รับจากการโจมตีแบบStrike50%) [ 2P] Resist Fire ได้รับคุณสมบัติ Fire Resistance (ลดDamageที่ได้รับจากการโจมตีแบบFire50%) [ 2P] Resist Wind ได้รับคุณสมบัติ Wind Resistance (ลดDamageที่ได้รับจากการโจมตีแบบWind50%) [ 2P] Resist Ice ได้รับคุณสมบัติ Ice Resistance (ลดDamageที่ได้รับจากการโจมตีแบบIce50%) [ 2P] Resist Elec ได้รับคุณสมบัติ Elec Resistance (ลดDamageที่ได้รับจากการโจมตีแบบElec50%) [ 2P] Resist Earth ได้รับคุณสมบัติ Earth Resistance (ลดDamageที่ได้รับจากการโจมตีแบบEarth50%) [ 5P] Null Slash ได้รับคุณสมบัติ Slash Nullfires (ไม่ได้รับDamageจากการโจมตีแบบSlash) [ 5P] Null Pierce ได้รับคุณสมบัติ Pierce Nullfires (ไม่ได้รับDamageจากการโจมตีแบบPierce) [ 5P] Null Strike ได้รับคุณสมบัติ Strike Nullfires (ไม่ได้รับDamageจากการโจมตีแบบStrike) [ 5P] Null Fire ได้รับคุณสมบัติ Fire Nullfires (ไม่ได้รับDamageจากการโจมตีแบบFire) [ 5P] Null Wind ได้รับคุณสมบัติ Wind Nullfires (ไม่ได้รับDamageจากการโจมตีแบบWind) [ 5P] Null Ice ได้รับคุณสมบัติ Ice Nullfires (ไม่ได้รับDamageจากการโจมตีแบบIce) [ 5P] Null Elec ได้รับคุณสมบัติ Elec Nullfires (ไม่ได้รับDamageจากการโจมตีแบบElec) [ 5P] Null Earth ได้รับคุณสมบัติ Earth Nullfires (ไม่ได้รับDamageจากการโจมตีแบบEarth) [ 7P] Repel Slash ได้รับคุณสมบัติ Slash Repel (สะท้อนการโจมตีแบบSlashกลับไปหาผู้โจมตี) [ 7P] Repel Pierce ได้รับคุณสมบัติ Pierce Repel (สะท้อนการโจมตีแบบPierceกลับไปหาผู้โจมตี) [ 7P] Repel Strike ได้รับคุณสมบัติ Strike Repel (สะท้อนการโจมตีแบบStrikeกลับไปหาผู้โจมตี) [ 7P] Repel Fire ได้รับคุณสมบัติ Fire Repel (สะท้อนการโจมตีแบบFireกลับไปหาผู้โจมตี) [ 7P] Repel Wind ได้รับคุณสมบัติ Wind Repel (สะท้อนการโจมตีแบบWindกลับไปหาผู้โจมตี) [ 7P] Repel Ice ได้รับคุณสมบัติ Ice Repel (สะท้อนการโจมตีแบบIceกลับไปหาผู้โจมตี) [ 7P] Repel Elec ได้รับคุณสมบัติ Elec Repel (สะท้อนการโจมตีแบบElecกลับไปหาผู้โจมตี) [ 7P] Repel Earth ได้รับคุณสมบัติ Earth Repel (สะท้อนการโจมตีแบบEarthกลับไปหาผู้โจมตี) [ 8P] Absorb Slash ได้รับคุณสมบัติ Slash Absorb (เปลี่ยนDamageแบบSlashเป็นการฟื้นฟูHP) [ 8P] Absorb Pierce ได้รับคุณสมบัติ Pierce Absorb (เปลี่ยนDamageแบบPierceเป็นการฟื้นฟูHP) [ 8P] Absorb Strike ได้รับคุณสมบัติ Strike Absorb (เปลี่ยนDamageแบบStrikeเป็นการฟื้นฟูHP) [ 8P] Absorb Fire ได้รับคุณสมบัติ Fire Absorb (เปลี่ยนDamageแบบFireเป็นการฟื้นฟูHP) [ 8P] Absorb Wind ได้รับคุณสมบัติ Wind Absorb (เปลี่ยนDamageแบบWindเป็นการฟื้นฟูHP) [ 8P] Absorb Ice ได้รับคุณสมบัติ Ice Absorb (เปลี่ยนDamageแบบIceเป็นการฟื้นฟูHP) [ 8P] Absorb Elec ได้รับคุณสมบัติ Elec Absorb (เปลี่ยนDamageแบบElecเป็นการฟื้นฟูHP) [ 8P] Absorb Earth ได้รับคุณสมบัติ Earth Absorb (เปลี่ยนDamageแบบEarthเป็นการฟื้นฟูHP) [ 4P] Resist Light ลดโอกาสสำเร็จที่จะได้รับผลจากสกิลธาตุแสงลง20% [ 4P] Resist Dark ลดโอกาสสำเร็จที่จะได้รับผลจากสกิลธาตุความมืดลง20% [ 8P] Null Light ไม่ได้รับผลใดๆจากสกิลธาตุความแสง [ 8P] Null Dark ไม่ได้รับผลใดๆจากสกิลธาตุความมืด [10P] Repel Light สะท้อนสกิลธาตุแสงกลับไปยังผู้ใช้ [10P] Repel Dark สะท้อนสกิลธาตุความมืดกลับไปยังผู้ใช้ ============================== Status Resistance ============================== [ 3P] Resist Poison ลดโอกาสติด Poison เหลือครึ่งเดียวของโอกาสติดเดิม [ 3P] Resist Panic ลดโอกาสติด Panic เหลือครึ่งเดียวของโอกาสติดเดิม [ 3P] Resist Fear ลดโอกาสติด Fear เหลือครึ่งเดียวของโอกาสติดเดิม [ 3P] Resist Faint ลดโอกาสติด Faint เหลือ50% [ 3P] Resist Furious ลดโอกาสติด Furious เหลือครึ่งเดียวของโอกาสติดเดิม [ 3P] Resist Mute ลดโอกาสติด Mute เหลือครึ่งเดียวของโอกาสติดเดิม [ 3P] Resist Frail ลดโอกาสติด Frail เหลือครึ่งเดียวของโอกาสติดเดิม [ 3P] Resist Old ลดโอกาสติด Old เหลือครึ่งเดียวของโอกาสติดเดิม [ 5P] Null Poison ไม่มีทางที่จะติดสถานะ Poison [ 5P] Null Panic ไม่มีทางที่จะติดสถานะ Panic [ 5P] Null Fear ไม่มีทางที่จะติดสถานะ Fear [ 5P] Null Faint ไม่มีทางที่จะติดสถานะ Faint [ 5P] Null Furious ไม่มีทางที่จะติดสถานะ Furious [ 5P] Null Mute ไม่มีทางที่จะติดสถานะ Mute [ 5P] Null Frail ไม่มีทางที่จะติดสถานะ Frail [ 5P] Null Old ไม่มีทางที่จะติดสถานะ Old ============================== Endure ============================== [ 4P] Survive Light เมื่อโดนผลของสกิลธาตุแสงเข้าไป มีโอกาส50% ที่จะไม่ตายแล้วเหลือ HPแค่1 [ 4P] Survive Dark เมื่อโดนผลของสกิลธาตุความมืดเข้าไป มีโอกาส50% ที่จะไม่ตายแล้วเหลือ HPแค่1 [ 7P] Endure Light เมื่อโดนผลของสกิลธาตุแสงเข้าไป จะเหลือHpแค่1 แทนที่จะตายทันที [ 7P] Endure Dark เมื่อโดนผลของสกิลธาตุความมืดเข้าไป จะเหลือHpแค่1 แทนที่จะตายทันที [10P] Endure เมื่อHpลดถึง0 Hpของเจ้าของPersonaที่มีสกิลนี้ จะกลายเป็น1แทน ใช้ความสามารถนี้ได้เพียงครั้งเดียวต่อการเข้าดันเจี้ยน1ครั้ง(ใช้ร่วม กับEnduring Soulไม่ได้) [15P] Enduring Soul เมื่อHpลดถึง0 Hpของเจ้าของPersonaที่มีสกิลนี้ จะถูกเติมขึ้นมา50%ของMaxHp ใช้ความสามารถนี้ได้เพียงครั้งเดียวต่อการเข้าดันเจี้ยน1ครั้ง(ใช้ร่วม กับEndureไม่ได้) ============================== Boost ============================== [ 6P] Panic Boost เพิ่มโอกาสสำเร็จที่จะทำให้ศัตรูติดสถานะ Panic 40% (ถ้าเป็น SHADOW จะเพิ่มเป็น 50% และตัวเจ้าของมีโอกาสติด 30%) [ 6P] Fear Boost เพิ่มโอกาสสำเร็จที่จะทำให้ศัตรูติดสถานะ Fear 40% (ถ้าเป็น SHADOW จะเพิ่มเป็น 50% และตัวเจ้าของมีโอกาสติด 30%) [ 6P] Poison Boost เพิ่มโอกาสสำเร็จที่จะทำให้ศัตรูติดสถานะ Poison 40% (ถ้าเป็น SHADOW จะเพิ่มเป็น 50% และตัวเจ้าของมีโอกาสติด 30%) [ 6P] Furious Boost เพิ่มโอกาสสำเร็จที่จะทำให้ศัตรูติดสถานะ Furious 40% (ถ้าเป็น SHADOW จะเพิ่มเป็น 50% และตัวเจ้าของมีโอกาสติด 30%) [ 6P] Mute Boost เพิ่มโอกาสสำเร็จที่จะทำให้ศัตรูติดสถานะ Mute 40% (ถ้าเป็น SHADOW จะเพิ่มเป็น 50% และตัวเจ้าของมีโอกาสติด 30%) [ 6P] Frail Boost เพิ่มโอกาสสำเร็จที่จะทำให้ศัตรูติดสถานะ Frail 40% (ถ้าเป็น SHADOW จะเพิ่มเป็น 50% และตัวเจ้าของมีโอกาสติด 30%) [ 6P] Old Boost เพิ่มโอกาสสำเร็จที่จะทำให้ศัตรูติดสถานะ Old 40% (ถ้าเป็น SHADOW จะเพิ่มเป็น 50% และตัวเจ้าของมีโอกาสติด 30%) [10P] Aliment Boost เพิ่มโอกาสสำเร็จที่จะทำให้ศัตรูติดสถานะทุกชนิด 25% สกิลBoostของสถานะผิดปกติอื่นๆ จะไม่ส่งผล หากมีสกิลนี้อยู่ด้วย (ถ้าเป็น SHADOW จะเพิ่มเป็น 50% และตัวเจ้าของมีโอกาสติด 40%) ============================== Recovery ============================== [ 4P] Regenerate 1 ฟื้นฟูHPของตัวเอง 5% ทุกๆเทิร์นในระหว่างการต่อสู้ [ 8P] Regenerate 2 ฟื้นฟูHPของตัวเอง 10% ทุกๆเทิร์นในระหว่างการต่อสู้ [12P] Regenerate 3 ฟื้นฟูHPของตัวเอง 15% ทุกๆเทิร์นในระหว่างการต่อสู้ [ 4P] Invigorate 1 ฟื้นฟูSPของตัวเอง 9หน่วย ทุกๆเทิร์นในระหว่างการต่อสู้ [ 8P] Invigorate 2 ฟื้นฟูSPของตัวเอง 15หน่วย ทุกๆเทิร์นในระหว่างการต่อสู้ [12P] Invigorate 3 ฟื้นฟูSPของตัวเอง 21หน่วย ทุกๆเทิร์นในระหว่างการต่อสู้ [14P] Cool Breeze ฟื้นฟูHP12%และSP18หน่วย ของตัวเอง ทุกๆเทิร์นในระหว่างการต่อสู้ [20P] Victory Cry เมื่อเริ่มเข้าฉากต่อสู้กับBoss ผู้ใช้Personaนี้จะได้รับการฟื้นฟูHPและSP 40%ของค่าMax (ใช้ได้แค่1ครั้งต่อการลงดันเจี้ยน) [ 5P] Speedy Recovery ลดเวลาการติดสถานะผิดปกติของตัวเองลง เหลือแค่4steps(ไม่ช่วยลดระยะเวลาของสกิลลดค่าพลังต่างๆ)(ต่อให้ติดMuteก็ ยังทำงานได้) [10P] Instant Recovery ลดเวลาการติดสถานะผิดปกติของตัวเองลง เหลือแค่2steps(ไม่ช่วยลดระยะเวลาของสกิลลดค่าพลังต่างๆ)(ต่อให้ติดMuteก็ ยังทำงานได้) ============================== Other ============================== [ 8P] Attack Master ได้รับผลของสกิล Tarukaja ตั้งแต่ตอนเริ่มเข้าฉากต่อสู้ โดยอัตโนมัติ และคงอยู่เป็นเวลา6steps [ 8P] Guard Master ได้รับผลของสกิล Rakukaja ตั้งแต่ตอนเริ่มเข้าฉากต่อสู้ โดยอัตโนมัติ และคงอยู่เป็นเวลา6steps [ 8P] Speed Master ได้รับผลของสกิล Sukukaja ตั้งแต่ตอนเริ่มเข้าฉากต่อสู้ โดยอัตโนมัติ และคงอยู่เป็นเวลา6steps [15P] Auto-Mataru ฝ่ายเดียวกันทุกคน ได้รับผลของสกิล Matarukaja ตั้งแต่ตอนเริ่มเข้าฉากต่อสู้ โดยอัตโนมัติ และคงอยู่เป็นเวลา6steps [15P] Auto-Maraku ฝ่ายเดียวกันทุกคน ได้รับผลของสกิล Marakukaja ตั้งแต่ตอนเริ่มเข้าฉากต่อสู้ โดยอัตโนมัติ และคงอยู่เป็นเวลา6steps [15P] Auto-Masuku ฝ่ายเดียวกันทุกคน ได้รับผลของสกิล Masukukaja ตั้งแต่ตอนเริ่มเข้าฉากต่อสู้ โดยอัตโนมัติ และคงอยู่เป็นเวลา6steps [ 5P] Counter มีโอกาส15%ที่จะสะท้อนการโจมตีทางกายภาพกลับไปหาผู้ที่โจมตี และไม่ได้รับDamageใดๆจากการโจมตีนั้น [ 9P] Heavy Counter มีโอกาส30%ที่จะสะท้อนการโจมตีทางกายภาพกลับไปหาผู้ที่โจมตี และไม่ได้รับDamageใดๆจากการโจมตีนั้น [14P] Hyper Counter มีโอกาส45%ที่จะสะท้อนการโจมตีทางกายภาพกลับไปหาผู้ที่โจมตี และไม่ได้รับDamageใดๆจากการโจมตีนั้น [12P] Sharp Student เพิ่มโอกาสที่จะโจมตีติดCritical 15% [22P] Prodigy Student เพิ่มโอกาสที่จะโจมตีติดCritical 25% (Sharp Studentไม่ส่งผล เมื่อมีสกิลนี้อยู่) [ 8P] Apt Pupil ลดโอกาสที่จะถูกโจมตีแบบCritical 20% (1 เทิร์นสามารถหลบการโจมตีเพิ่มขึ้นอีก 2 ครั้ง) [15P] Divine Grace ผลของสกิลประเภทHealingที่Personaตัวนี้ใช้ จะเป็น2เท่าจากปกติ [15P] Arms Master ลด%ของHpที่ต้องใช้ เมื่อใช้สกิลประเภทPhysical Skillลง ครึ่งหนึ่ง เศษปัดขึ้น [15P] Spell Master ลดค่าSPที่ต้องใช้ เมื่อใช้สกิลประเภทMagic Skillลง ครึ่งหนึ่ง เศษปัดขึ้น ==================================== HP/SP Skill ==================================== [ 4P] Vitality 1 เพิ่มMaxHp75 (เพิ่มได้ไม่เกินค่าสูงสุดที่999) [ 8P] Vitality 2 เพิ่มMaxHp150 (เพิ่มได้ไม่เกินค่าสูงสุดที่999) [12P] Vitality 3 เพิ่มMaxHp300 (เพิ่มได้ไม่เกินค่าสูงสุดที่999) [ 4P] ManaPool 1 เพิ่มMaxSp50 (เพิ่มได้ไม่เกินค่าสูงสุดที่999) [ 8P] ManaPool 2 เพิ่มMaxSp100 (เพิ่มได้ไม่เกินค่าสูงสุดที่999) [12P] ManaPool 3 เพิ่มMaxSp200 (เพิ่มได้ไม่เกินค่าสูงสุดที่999)
https://w.atwiki.jp/javamock/pages/29.html
String Javaにおいて java.lang.Stringクラスは文字列を扱うクラスです。 Stringは文字列リテラルを格納します。(「"」で文字を囲う) StringはUnicodeエスケープ(\u)を使うことができます。 String 使用例 1 StringSample1.java class StringSample1 { public static void main(String[] args) { String stringObject1 = "STRING"; String stringObject2 = "\u0053\u0054\u0052\u0049\u004E\u0047"; System.out.println("stringObject1 " + stringObject1); System.out.println("stringObject2 " + stringObject2); } } 実行結果 C \java javac StringSample1.java C \java java StringSample1 stringObject1 STRING stringObject2 STRING String 使用例 2 (文字列連結) 文字列を連結するには以下のように+を使います。 StringSample2.java class StringSample2 { public static void main(String[] args) { String stringObject1 = "Java"; String stringObject2 = "String"; String stringObject3 = "Sample"; System.out.println(stringObject1 + stringObject2 + stringObject3); } } 実行結果 C \java javac StringSample2.java C \java java StringSample2 JavaStringSample String 使用例 3 (よく使うメソッド) Stringのよく使うメソッド!といってもあくまで主観ですが。。。 StringSample3.java class StringSample3 { public static void main(String[] args) { String stringObject = "JavaStringSample"; String stringEmpty = ""; //String のメソッド equals(Object anObject) は文字列と指定されたオブジェクトを比較します。 System.out.println("stringObjectEqualsJavaStringSample " + stringObject.equals("JavaStringSample")); System.out.println("stringObjectEqualsJavaString " + stringObject.equals("JavaString")); //String のメソッド length() は文字列の長さを返します。(intで返す) System.out.println("stringObjectLength " + stringObject.length()); //String のメソッド substring(int beginIndex, int endIndex) は指定した部分の文字列を返します。 System.out.println("stringObjectSubstring4-10 " + stringObject.substring (4,10)); //String のメソッド isEmpty() は length() が0である場合にかぎり、trueを返します。 System.out.println("stringObjectisEmpty " + stringObject.isEmpty()); System.out.println("stringEmptyisEmpty " + stringEmpty.isEmpty()); } } 実行結果 C \java javac StringSample3.java C \java java StringSample3 stringObjectEqualsJavaStringSample true stringObjectEqualsJavaString false stringObjectLength 16 stringObjectSubstring4-10 String stringObjectisEmpty false stringEmptyisEmpty true String 使用例 4 (エスケープシーケンス) エスケープシーケンスを使ってみます。 \nが改行です。\tがタブです。\rはその行の先頭に戻ります。 また、「"」「 」「\」を表示させるには「\"」「\ 」「\\」とします。 StringSample4.java class StringSample4 { public static void main(String[] args) { // \nの使用例です。\nで改行されます。 String stringN = "stringLine1\nstringLine2"; System.out.println(stringN); System.out.println(); // \tの使用例です。\tでタブが入ります。 String stringColumn = "COLUMN1\tCOLUMN2\tCOLUMN3\tCOLUMN4\t"; String stringData = "data\tdata\tdata\tdata\t"; System.out.println(stringColumn); System.out.println(stringData); System.out.println(stringData); System.out.println(stringData); // \rの使用例です。\rで行の先頭に戻ります。 String stringR = "JAVA\rSTRING"; // \rで行の先頭に戻るのでここではJAVAと表示されません。 System.out.println(stringR); } } 実行結果 C \java javac StringSample4.java C \java java StringSample4 stringLine1 stringLine2 COLUMN1 COLUMN2 COLUMN3 COLUMN4 data data data data data data data data data data data data STRING String NullPointerException 例 null引数をコンストラクタ、またはこのクラスのメソッドへ渡すと NullPointerExceptionがスローされます。 StringSample5.java class StringSample5 { public static void main(String[] args) { String stringNull = null; System.out.println("stringNull " + stringNull); //ここでNullPointerException System.out.println(new String(stringNull)); } } 実行結果 C \java javac StringSample5.java C \java java StringSample5 stringNull null Exception in thread "main" java.lang.NullPointerException at java.lang.String. init (Unknown Source) at StringSample5.main(StringSample5.java 9)